Git之基线升级流程&解决提交冲突流程
基线升级
清理旧的版本,删掉直接重新下载,或者:
git status ./
git checkout ./*
git clean -df
git reset --hard HEAD
下载远程的新分支到一个本地的新分支
git fetch origin <remote_new_dev>:<local_new_dev>
修改rename的限制,否则可能合并不全
git config merge.renameLimit 99999
切换到本地主分支然后合并新分支
git checkout <local_master_dev>
git merge <local_new_dev> >> ~/merge.log
搜索conflict和waring,标注的即是冲突文件
找到文件后根据关键符号来解冲突
>>>>>>
<<<<<<
本地验证后提交
git add -A
git commit //可能需要重新下钩子脚本
git push origin HEAD:refs/for/remote_old_dev
解提交冲突
如果还没提交,可以选择直接git pull后本地解冲突,本方法适用已经git push上去又不想abandon的情况。
保持提交
git checkout -b back_dev //新建备份分支
git checkout main_dev //切换回主分支
更新父节点
git reset --hard HEAD^ //清除自己的修改
git pull //更新到最新的提交
git log //检查
cherry pick旧提交
git fetch ssh://name@10.4.0.169:port/Project refs/changes/xx/1 && git cherry-pick FETCH_HEAD
//gerrt上可以复制不可以复用
正式解冲突
git status //1-查看冲突文件
//2-根据关键字">>>>>>>>"&"<<<<<<<<"取舍冲突
git add //添加解决冲突后的文件
git commit //提交到cherry pick下来的提交,不产生额外的新提交,changeID还是一样
提交
git push