我在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存储库,我迷失了错误.我在这里搜索了几个其他问题,但没有一个问题第一次出现.
在GitHub上创建存储库时,您创建了一个README.md,这是一个新的提交.
您的本地存储库尚不知道此提交.因此:
更新被拒绝,因为远程包含您本地没有的工作.
您可能希望遵循以下建议:
您可能希望
git pull
在再次推送之前首先合并远程更改(例如,' ').
那是:
git pull # Fix any merge conflicts, if you have a `README.md` locally git push -u origin master
⚡️EASY:你所需要的就是强行推动.因为你可能已经
readme.md
在Github上创建了文件而你尚未提取它.
git push -f origin master
这是一个GIF.
请注意:使用force
可以更改同一项目中其他人的历史记录.基本上,如果您不关心为每个人删除的文件,请继续.特别是如果你是这个项目的唯一开发者.
如果这是你的第一次推动
只是改变了
git push **-u** origin master
像这样改变它!
git push -f origin master
使用以下命令发出强制推送:
git push -f origin master
当你尝试最初推送时会发生这种情况.因为在你的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.I我不是git的专家,但每次这些步骤对我有用.
考虑到你有一段时间没有提交你的更改,也许这样做对你有用.
git add files git commit -m "Your Commit" git push -u origin master
这对我有用,希望它也适合你.
假设您通过github提供的接口添加了Readme.md文件,则自述文件尚未在您的本地文件夹中.因此,当您尝试推送到远程仓库时,您会收到错误,因为您的本地仓库缺少自述文件 - 它可能"落后于时代",可以这么说.因此,正如错误消息中所建议的那样,首先尝试"git pull".这将从远程存储库中提取自述文件并将其与本地目录合并.之后,你应该没有问题推送到远程仓库(你发布的命令看起来对我有效).