版本管理之 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 编辑过 |
关键字查询
相关文章
正在查询... |