我在Github上创建了一个新的存储库,它现在只有Readme.md文件。
我有一个新创建的RoR项目,我想将其推送到此存储库。 以下是我在终端中执行的命令以及我得到的错误。
git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git
之后我输入了用户名和密码
git push -u origin master
错误---
To https://github.com/aniruddhabarapatre/learn-rails.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/aniruddhabarapatre/learn-rails.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
这是我第一次将我的代码推送到Github存储库,而我却错过了错误。我在这里搜索了一些其他问题,但没有一个问题第一次出现。
答案 0 :(得分:267)
如果这是你的第一次推送
只需更改
即可git push **-u** origin master
像这样改变它!
git push -f origin master
答案 1 :(得分:153)
创建your repository on GitHub后,您创建了README.md,即a new commit。
您的本地存储库尚未了解此提交。因此:
更新被拒绝,因为遥控器包含您所做的工作 没有本地。
您可能希望遵循以下建议:
您可能希望首先合并远程更改(例如, '
git pull
')再推一次。
那是:
git pull
# Fix any merge conflicts, if you have a `README.md` locally
git push -u origin master
答案 2 :(得分:48)
答案 3 :(得分:32)
使用以下命令发出强制推送:
git push -f origin master
答案 4 :(得分:8)
假设您通过github提供的界面添加了Readme.md文件,则自述文件尚未在您的本地文件夹中。因此,当您尝试推送到远程仓库时,您会收到错误,因为您的本地仓库缺少自述文件 - 它可能“落后于时代”,可以这么说。因此,正如错误消息中所建议的那样,首先尝试“git pull”。这将从远程存储库中提取自述文件并将其与本地目录合并。之后,你应该没有问题推送到远程仓库(你发布的命令看起来对我有效)。
答案 5 :(得分:5)
如果您暂时没有提交更改,可能这样做对您有用。
git add files
git commit -m "Your Commit"
git push -u origin master
这对我有用,希望它也适合你。
答案 6 :(得分:5)
当您尝试最初推送时会发生这种情况。因为在您的GitHub仓库中有readMe.md或任何其他不在您本地仓库中的新东西。首先,你必须合并你的github repo的无关历史。要做到这一点
git pull origin master --allow-unrelated-histories
然后你可以使用这个
从repo(readMe.md或任何)获取其他文件git pull origin master
之后
git push -u origin master
现在你成功将所有更改推送到Github repo。我不是git的专家,但每次这些步骤都适合我。
答案 7 :(得分:3)
如果您在GUI中使用git for mac,您可以选择Repository-> Pull或" comm + shift + p" to" git pull n#34;首先,然后发布源。
答案 8 :(得分:1)
按照git命令将数据从本地目录推送到远程git存储库时会发生此错误:git push -u origin master
由于本地目录和git远程目录的文件存在冲突。
解决方案:
将所有文件提交到分段后,请按照以下步骤操作。
从远程存储库中获取文件,因为它与本地工作目录冲突。
git pull <remoter-url> <branch-name>
再次提交更改。
git add -A
git commit -m ‘<comment>'
在两个目录中提交合并文件后,您可以使用
git push -u origin master
这将解决问题。感谢。
答案 9 :(得分:0)
我在这个错误中挣扎了一个多小时!以下是帮助我解决它的原因。所有这一切,而我的工作目录是克隆在我的系统上的回购。
如果您要将文件添加到现有存储库** 1.我将添加到我的存储库的所有内容都放到了我的GitHub文件夹中:
git pull
输出是 - 一些自述文件 文件1 file2的
例如。一些自述文件 文件1 文件2 newfile1 newfile2
git add&#34; newfile1&#34; &#34; newfile2&#34;
[可选] git状态 这将确保您要添加的文件是否正确上演 输出是
在分支主机上 您的分支机构是最新的&origin; /&#39;。 要提交的更改: (使用&#34; git reset HEAD ...&#34;取消暂停)
new file: newfile1
new file: newfile2
5.git commit -m&#34;无论你想给出什么描述&#34; 6.git推送
我的所有新文件以及旧文件都出现在我的回购邮件中。
答案 10 :(得分:0)
我有类似的问题...... 我这样解决了(我不是一个git专家所以我不知道它是否是一个正确的解决方案,但它对我有用):
git pull origin master --allow-unrelated-histories
git merge origin origin/master
git rm README.md
git commit -m 'removed readme.md'
git push origin master
答案 11 :(得分:0)
一个简单的答案是将README.MD文件从您的计算机手动上传到GitHub。对我来说很好。
答案 12 :(得分:0)
答案 13 :(得分:0)
我在Azure Git上遇到此错误,这解决了问题:
git fetch
git pull
git push --no-verify