当我键入 git push origin master
时,git 会显示以下错误消息:
To https://github.com/farrasdoko/RumahSakit.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/farrasdoko/RumahSakit.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
然后,我输入 git fetch origin
、git merge origin master
和 git pull origin master
git 显示以下错误消息:
From https://github.com/farrasdoko/RumahSakit
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
怎么推??
最佳答案
hint: Updates were rejected because the tip of your current branch is behind
通常发生这种情况时,您真正想做的是将 origin/master
中的额外提交添加到您的分支之前您自己的提交。 你可以使用rebase
命令来做到这一点:
git rebase origin/master
这会将新提交从 origin
pull 入您的分支,然后在顶部添加您自己的新提交,以便您的提交是最新的。在 rebase 时你可能会遇到一些冲突。发生这种情况时,git
将停止并告诉您解决冲突;之后,您应该 git add
受影响的文件,然后 git rebase --continue
。或者,如果您决定不知道如何处理该问题,您可以 git rebase --abort
并且您的分支将返回到 git 之前的相同状态rebase
命令已启动。
git rebase
是一个功能强大的命令,它可以很快把你的分支弄得一团糟,所以要小心,但不要害怕它。适用标准计算建议:如果您没有信心,请在做任何事情之前备份您的工作。幸运的是,创建一个新分支作为备份很容易 (git checkout -b my_backup_branch
),然后切换回您的工作分支。
关于git - 第一次 Git 推送被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52013203/