代码提交冲突

什么是代码提交冲突?

1.在多人团队使用代码托管服务时,不可避免的会出现两个人同时修改了一个文件的情况,这时在推送(push)代码到代码托管仓库时就会出现代码提交冲突并推送失败。

2.在分支合并时,有时也会产生冲突,这时的判定方式与解决办法与提交远程仓库时的冲突基本一样,如下图是本地分支branch1向master分支合并时产生了冲突(file01文件的修改冲突了)。

(Git在文件合并时是比较智能的,对于同一个文件不同位置的修改内容会自动合并,只有在同一个文件同一个位置被同时修改时(本地仓与远程仓的当前版本有差异),才会产生冲突。)

如何解决代码提交冲突?

当代码提交冲突产生时,我们可以将远程代码仓库拉取(pull)到本地仓库的工作区,这时Git会将可以合并的修改内容进行合并,并将不能合并的文件内容进行提示,开发者只需要对提示的冲突内容进行修改即可再次推送到远程仓库(add → commit → push),这时冲突就解决完毕了。当然在修改冲突文件时应该考虑清楚,必要时要与冲突方联系协商解决,避免覆盖他人代码。

 方式一(推荐新手使用):

如果开发者本地的仓库不常更新使用,在做本地修改时,可以重新clone一份远程仓库的内容到本地,修改后再次提交,这样简单直接的解决了版本差异问题,但缺点是如果仓库较大、更新记录较多,clone过程将耗费一定的时间。

方式二:

如果开发者每天都要对本地仓库进行修改,则建议在本地新建一条开发分支进行代码修改,在要提交远程仓库时,切换到master分支并将远程仓库的最新master分支内容拉取到本地,在本地进行分支合并,对产生的冲突进行修复,成功将内容合并到master分支后,再提交到远程仓库。

posted @ 2021-04-08 16:46  一只测试小菜鸡  阅读(393)  评论(0编辑  收藏  举报