版本管理之 git 解决冲突
					当前位置:点晴教程→知识管理交流
					
					→『 技术文档交流 』
					
				 
				
 git 要解决的冲突,是由分支合并带来的。 合并(Merge)是将分支 A 的更改合并到分支 B 的过程。 合并场景假如我们有 master 分支,然后有基于 master 分支创建出来的 develop 分支。 从 develop 分支合并到 master 分支的场景有以下两种情况: 
 
 
 
 合并冲突发生在上述的第二个场景里,当同一个文件在两个分支上都被修改了。 
 出现冲突的时候,就需要手动解决冲突并提交合并结果。 合并的类型合并的结果有两种,一是直接合并,不产生新的提交。二是有冲突并解决了冲突,它会产生新的提交,这里的提交内容就是合并冲突修改。 这里有三种类型的合并:前进合并(fast-ford)、三方合并(three-way merge)和变基合并(Rebase)。 快速前进合并(fast-forward)是最简单的合并方式。 还是以上述 master 分支和 develop 分支为例来说明。 当 master 分支没有新的提交时,Git 只需将 master 分支的指针移动到 develop 分支的最新提交即可。这种合并不会产生新的合并提交。 三方合并(three-way merge)是指当 master 分支和 develop 分支都有新的提交时,Git 会进行三方合并。 这种合并会创建一个新的合并提交,包含两个分支的更改。 变基合并(Rebase)是将 develop 分支的提交应用到 master 分支的基础上,从而避免创建合并提交。 这种方式可以保持提交历史的线性,但可能会导致冲突需要手动解决。 合并策略在进行合并时,还能使用不同的合并策略来控制合并的行为。 常见的合并策略包括: 
 解决合并冲突的办法解决合并冲突需要手动干预,基本上可以按以下步骤进行: 
 当合并冲突发生时,Git 会提示哪些文件存在冲突。可以使用  
 打开冲突文件,可以看到冲突部分被标记为  这些标记分别表示当前分支的更改、分隔符和合并分支的更改。 
 根据实际情况,手动编辑冲突文件,保留需要的更改并删除冲突标记。 
 解决冲突后,使用  
 最后,使用  避免合并冲突在团队协作里,频繁出现合并冲突多少会影响开发效率,以及团队士气。 所以我们在工作时会尽量避免冲突的发生。 它的策略核心是尽可能减少同时对同一个文件的修改,以及尽可能减少单次提交的代码量。 
 总结
 该文章在 2024/12/4 17:24:57 编辑过  | 
		
			 关键字查询 
				相关文章 
				正在查询...  |