在执行下面的指令时
git push origin master
报错:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/xxx/xxx.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.
原因:一开始远程仓库和本地仓库是同步的,但是后续中直接在远程仓库进行了修改,使得本地仓库不是基于远程仓库最新版本,导致两者的不同步而报错。
当远程仓库的代码较少时
- 将本地仓库先备份在本地
- 通过
pull
操作直接将本地仓库的内容覆盖 - 将之前的本地备份覆盖到本地仓库中
- 此时就能够将本地仓库的内容
push
更新到远程仓库
其他各种情况则可以根据其他回答来操作,这里只记录我自己的一种解决方案。