打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
#PY小贴士# git 的冲突

讲一个同学问到的 git 问题:

为什么我的 git 在 pull 更新线上最新代码的时候提示失败,然后发现代码里多了一些奇怪的内容:

要如何解决?

这个问题一个人写代码的时候出现的概率不高,但当多人通过 git 协作开发时很常见。

一般情况下,git 会自动将不同开发者提交的内容进行合并。但如果两个人在同一个版本上提交新内容,且修改了相同位置的代码,git 无法自动判断应该听谁的,于是就产生了冲突(conflict)。(有些同学在家里和公司的电脑上都写代码,然后某次忘记更新后在两台电脑上都改了一遍,也会产生类似的问题。)

这时候 git 就会把两边的差异同时标注在代码上,比如图中这样:

<<<< HEAD ==== 中间表示最新代码,而 ==== >>>> 一串hash值 中间是另一个提交对应的代码。

这时候你要做的,是把另一段代码的提交者喊来,确认最终应该是怎样的代码(有时也比较容易判断,像图中这样一个是注释了代码,而另一个是直接删除掉了,其实是一样的),然后在代码上直接修改。修改完之后,把多余的 <<<< ==== >>>> 等标注全都删掉。

改好后,需要再次通过 addcommit,产生一个新的提交,就会把两边的改动合并在一起了。

如果查看 git 的代码树(如 gitk 或其他图形化工具),就会发现多出一个节点,合并了原本两个分叉的节点。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
成功GIT学习总结1
teprunner重磅更新Git打通PyCharm与测试平台
git拉取代码冲突——MERGING解决方案
SourceTree使用方法
[git]merge和rebase的区别
git在idea中的冲突解决(非常重要)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服