我在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存储库,我迷失了错误 . 我在这里搜索了几个其他问题,但没有一个问题第一次出现 .
11 回答
当您创建your repository on GitHub时,您创建了README.md,即a new commit .
您的本地存储库尚不知道此提交 . 因此:
您可能希望遵循以下建议:
那是:
如果这是你的第一次推动
只是改变了
像这样改变它!
这是一个GIF .
请注意:使用
force
可以更改同一项目中其他人的历史记录 . 基本上,如果你不是项目中唯一的开发人员.1404897_使用以下命令发出强制推送:
假设您通过github提供的接口添加了Readme.md文件,则自述文件尚未在您的本地文件夹中 . 因此,当您尝试推送到远程仓库时,您会收到错误,因为您的本地仓库缺少自述文件 - 它可能“落后于时代”,可以这么说 . 因此,正如错误消息中所建议的那样,首先尝试“git pull” . 这将从远程存储库中提取自述文件并将其与本地目录合并 . 之后,你应该没有问题推送到远程仓库(你发布的命令看起来对我有效) .
考虑到你有一段时间没有提交你的更改,也许这样做对你有用 .
这对我有用,希望它也适合你 .
当你尝试最初推送时会发生这种情况 . 因为在你的GitHub仓库中有readMe.md或者你当地仓库中没有的任何其他新东西 . 首先,你必须合并你的github repo的无关历史 . 要做到这一点
然后你可以使用它从repo(readMe.md或任何)获取其他文件
之后
现在你成功地将所有更改推送到Github repo.I我不是git的专家,但每次这些步骤对我有用 .
如果你在GUI中使用git for mac,你可以先选择Respository-> Pull或“comm shift p”到“git pull”,然后发布源代码 .
当您通过以下git命令将数据从本地目录推送到远程git存储库时,会发生此错误:
git push -u origin master
由于本地目录和git远程目录的文件冲突 .
Solution :
将所有文件提交到分段后,请按照以下步骤操作 .
从远程存储库中获取文件,因为它与本地工作目录冲突 .
git pull <remoter-url> <branch-name>
再次提交更改 .
git add -A
git commit -m ‘<comment>'
用两个目录提交合并文件后即可使用
git push -u origin master
这将解决问题 . 谢谢 .
我挣扎了这个错误超过一个小时!以下是帮助我解决它的原因 . 所有这一切,而我的工作目录是我克隆在我的系统上的回购 .
如果您正在将文件添加到现有存储库中** 1.我将添加到存储库的所有内容都提取到了我的GitHub文件夹:
git pull
输出是 - 一些自述文件file1 file2
例如 . 一些自述文件file1 file2 newfile1 newfile2
git add“newfile1”“newfile2”
[可选] git status这将确保您要添加的文件是否正确上演或不输出
在分支主数据上您的分支是最新的'origin / master' . 要提交的更改:(使用“git reset HEAD ...”取消暂停)
5.git commit -m“你要给的任何描述”6.git push
我的所有新文件和旧文件都在我的回购中看到 .
我曾有一个类似的问题...我这样解决了(我不是一个git专家所以我不知道它是否是一个正确的解决方案,但它对我有用):