当我们在项目开发中,经常会在不同的分支上进行迭代开发,而保证master分支是最新的代码。如果你在feather1上进行了开发,并进行了提交。此时你的小伙伴更新了master上的代码。此时如果你想与master分支上的代码保持同步,可以执行以下代码:
git branch //查看分支
git checkout master //切换到master分支
git pull //更新本地master分支上代码
git checkout feather1 //切换到feathear1分支
git rebase master //将master分支最新的分支同步到本地feather1分支上,这个过程中可能会有冲突,
解决完冲突之后执行
git add .
git rebase --continue 即可
此时本地feather1分支上的代码与master分支上一置.
如果使用 git merge master 命令,当查看git log 时 会有一些merge信息
git rebase的另外一个用法是可以将多次commit合并为1次
命令为:git rebase -i HEAD~3 //将最近三次commit合并为一次
或
git rebase -i [startpoint][endpoint]//弹出交互式页面让用户编辑完成合并操作
我们公司使用了arc diff 作为代码review的命令 当arc diff之前 使用 git pull命令同步代码时再次出现冲突,解决完冲突之后,
git add .
git commit -m 'fix: 解决冲突'
arc diff //此时会把之前多次commit的信息都显示出来,删除多余的信息,只保留一个就好
arc land //完成
今天在工作中的曲折过程完毕