- 热门职位
- 热门地点
- 地区招聘
你可曾碰到过这般状况:满心欢喜地修改了代码,在打算提交之际,Git却陡然报错称“Conflict”?切莫惊慌,这实际上便是Git冲突。今天我们将要探讨这个常见的Git问題,从“缘何会出现”至“怎样迅速处置”,能让你轻易上手。
具体来讲,Git冲突讲的是,在那种同一个文件的同一位置,出现两类不同版本代码被修改之时,这样的Git就没办法自动判定该留存哪部分内容,进而就需要你亲自去做出决定的状况 。
设想此种情境:你跟同事同步着手撰写一篇文档,你对第一段第一行做出了修改,此时同事也针对第一段第一行进行了改动。当你试图将同事所做的修改“吸纳”到自身版本当中时,Git便会陷入两难之境:“这两行究竟该保留谁的呢?”——此即所谓的冲突 。
为什么会产生冲突?
冲突的核心原因是“同一位置的修改”。具体来说,常见场景有:
多人协作改同一文件
比如说,你于本地分支(main)之中更改了文件A的第3行,与此同时,同事在远程分支(dev)那里也对文件A的第3行做出了更改。当你去执行git pull或者git merge dev这个操作的时候,Git便会察觉到冲突。
分支合并时的版本差异
倘若你于main分支那儿创建了一个新分支,此新分支为feature,在feature分支里对文件B的第5行作出了更改,而他人亦在main分支里更改了文件B的第5行,那么当把main分支合并到feature分支之时,便极有可能出现冲突。
删除与新增的冲突
例如,你将文件C之中的某一行删掉了,然而其他人却在那一行的下方增添了内容,Git就会陷入困惑,“这一行究竟是要删除还是保留呢?”。
实则解决冲突这件事并不困难,只需牢记着“找标记”,紧接着“改内容”,随后“标记已解决”这三个步骤便可。接下来会借助例子逐一对你诠释:
当去执行git pull或者git merge的时候,Git会给出提示”Automatic merge failed“(也就是自动合并失败),在这个时候去打开报错的文件(就像test.txt这样的文件),你能够看到类似这样子的冲突标记 , :
<<<<<<< HEAD
// 这是你本地分支(HEAD)的修改内容
Hello World
=======
// 这是要合并的分支(比如dev)的修改内容
Hi Git
>>>>>>> dev
这些符号是Git自动添加的,用来分隔不同版本的代码:
被称作要合并的分支,像dev这样的分支的修改,你能够理解为是“别人的版本” 。
有着冲突标记的那些内容,都属于是需要你依靠手动去进行选择的部分,或者是要去合并的部分。就好比上面所举的那个例子当中,你得去做出决定,对于“Hello World”以及“Hi Git”,到底要保留其中哪一个,又或者是在两者都需要保留的情形下,把它们改成“Hello Hi Git” 。
操作建议:
如果只需要保留“你的版本”,那么,删除=======,并且下面的>>>>>>> dev也删除,只留下。
绩效评估怎么做才有效?掌握这15个技巧,让员工和你都满意
为创造积极环境,讨论绩效,解决挑战,制定绩效改进计划并给予职业发展机会,有进行优秀 绩效 ...
职场歧视还是招聘门槛?公司嫌求职者太丑引爆争议,你怎么看?
近日,网络上掀起了轩然大波,是由一起令人咋舌的职场事件引发的。深圳的陈女士,在Boss直 ...
职业转型如何成功?找对师傅跟对人,35岁前规划最关键
在职涯里头往往会碰到好多没法预测的困惑,在诸多职场人士当中,职业停滞问题备受留意。“从一 ...
工作效率公式揭秘:用这个方法,轻松省时省力高效完成工作
说到提升 工作效率 之际,你有没有思索过有没有一个奇妙 公式 ,能助你更高效地达成任务, ...
直面职场压力:来源解析与心态调整,高效工作安排助你从容应对
职场压力 的主要源头涵盖工作本身、人际关系、 职业发展 等层面,工作压力兴许源自工作任 ...