git多用户冲突解决-twilightdream的专栏-博客频道-CSDN.NET
git 多用户冲突解决
.
2017-06-09 08:43 44人阅读 评论(0) 收藏 举报
.
分类:
git (4)
.
版权声明:本文为博主原创文章,未经博主允许不得转载。
git多用户冲突一
场景:dev 分支修改了 File1,master 分支更新了远端代码后也修改了 File1 的同一个代码块,dev 变基到 master 时会产生冲突
解决方法:
case 1 :如果希望 master 分支完全覆盖 dev 分支的修改,使用如下命令回退后变基:
git reset --hard
git rebase master
* 1
* 2
* 1
* 2case 2 :希望保留 dev 分支的改动。如果 dev 分支的改动没有commit,需要暂存变更,变基后再手动合并冲突,使用命令如下:
git stash
git rebase master
git stash pop // 会有冲突
git diff *** // 手动合并冲突,***代表文件名
git add *** // 修改完成后提交
git rebase --continue // 完成变基
* 1
* 2
* 3
* 4
* 5
* 6
* 1
* 2
* 3
* 4
* 5
* 6其中 Git stash 表示备份当前工作区内容到 git 栈,并使当前工作区内容与上次提交时一致,更新最新代码,git stash pop 表示从 Git 栈中读取最近一次保存的内容,恢复工作区的相关内容,git diff 表示手动 merge 冲突的文件
case 3 :如果本地已经 commit,使用如下命令撤销最近一个 commit,再执行步骤2
git reset HEAD^
* 1
* 1git多用户冲突二
场景:用户 UserA 提交了 change A,暂时没有 review,未被 merge 到远端主分支。之后用户 UserB 提交了change B,merge 成功。当 merge change A 时出错
解决方法:
1 . gerrit 上 Abandon change A
2 . 本地撤销此次提交
git reset HEAD^
* 1
* 13 . 更新代码,重新提交
顶
0
踩
0
.
- 上一篇Ubuntu 上 gerrit 服务器的搭建
- 下一篇git 推荐流程
.
相关文章推荐