git-push时冲突解决方法
一、冲突原因
1.1 多人同时修改同一文件
1 | liaochongrong@urovo002-07:/home/ssd7/lcr_work/SQ45S$ git cherry-pick -n 4a7c5af22778e57440fdf09921b25e1a40a6d5e0 |
1.2 缺少change-id
1 | liaochongrong@urovo002-07:/home/ssd7/lcr_work/SQ45S$ git push origin HEAD:refs/for/Pie_SQ45S_Release |
二、解决方案
2.1 多人修改
- 通过
git status
命令找到双方共同修改的文件,然后编辑文件,把多余的代码去掉即可。 - 可通过
git diff 文件目录
来查看显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别
- 如图,删除标识代码,此冲突即可解决。
2.2 缺少change-id
- 其实这个冲突的解决方法,git已经提示过我们了。就是这一段
1 | remote: Hint: To automatically insert Change-Id, install the hook: |
- 所以我们只需要执行
gitdir=$(git rev-parse --git-dir); scp -p -P 29418 liaochongrong@192.168.8.215:hooks/commit-msg ${gitdir}/hooks/
以及git commit --amend
这两行命令即可。 - 当然如果不放心还可以reset 已有的提交:
git reset --soft 3bf39e60e2cad62f3ada0414f3cef64f386ccce3
,最后那一串为 commit id,reset完了之后,再重新进行提交操作。操作完成后即可看到change-id已经生成了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Rookie_l's Blog!
评论