用 git 从 github 远程库 pull 代码时,出现如下错误:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:xxxxxxxx.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.
原因:
我在第一台电脑上做了修改,并 push 到 GitHub。
而在第二台电脑上,在没有 pull 第一台电脑文档的情况下,对本地库做了修改,并试图再次 push。
所以,是第二台电脑 push 到 GitHub 的过程中,与第一台电脑所做的修改相冲突了。
解决方案:
git fetch origin master
git merge origin/master # 合并文档,此是对第一台电脑所做的修改,也已经下载到第二台电脑
# 以下为非必要步骤
git push origin master # 将第二台电脑的文档 push 到 GitHub 上