在改动git仓库中的文件时,没有在变更前执行 git pull
而导致本地的代码在后续的改动后和线上的代码不一致,而在commit后准备提交时再执行 git pull
获取代码时却提示 rejected -- non-fast-forward
的错误。
相关
临时分支法
- 创建一个临时分支
- 将远端待提交分支拉取到本地的临时分支
- 手动将本地的待提交分支合并到临时分支上
- 将合并后的临时分支提交到远端的待提交分支
- 将远端分支拉取到本地,即将冲突合并后的代码更新到本地分支
- 删除临时分支
操作记录
|
|
命令整理
错误:
|
|
解决:1234567891011121314151617181920# 将远端待提交分支hexo拉取到本地的一个临时分支tmp下git fetch origin hexo:tmp# 切换到临时分支tmpgit checkout tmp# 将本地的待提交分支hexo合并到临时分支tmp,并解决冲突git merge hexo# 将临时分支tmp提交到远端的待提交分支hexogit push origin tmp:hexo# 切换到本地的待提交分支hexogit checkout hexo# 拉取远端的待提交分支hexo到本地的待提交分支hexogit pull origin hexo:hexo# 删除本地的临时分支tmpgit branch -D tmp