Git 合并 2 个分支
Git merge for 2 branches
有一个分支A,我从分支A分支出来,所以我有一个分支B。我从分支B分支出来,所以我有一个分支C。
一段时间后,文件 file1.js
在 A 中更改,file1.js
(不是 file2.js
,但相同 file1.js
)在 B 和 file3.js
中在 C.
然后 B 被合并到 A 中,解决了因为 file1.js
.
的冲突
如果在 B 合并到 A 之后再将 C 合并到 A,是否会发生任何冲突?
我希望答案是否定的,但是我仍然很好奇在将 C 合并到 A 时是否必须以任何方式解决 file1.js
冲突,或者我是否希望在合并时遇到任何困难。
谢谢。
不会有冲突。合并操作只是添加两个父项的新提交(除了你所在的分支上没有提交的情况,git 将快进)。在您的情况下,来自分支 B 的提交将已经合并到 A 上并且 git 会意识到这一点。
为了可视化该过程,我建议在 Learn Git Branching 网页上尝试解决您的问题。
您需要执行的命令列表:
git checkout -b A
git checkout -b B
git commit
git checkout -b C
git commit
git checkout A
git commit
git merge B
git merge C
有一个分支A,我从分支A分支出来,所以我有一个分支B。我从分支B分支出来,所以我有一个分支C。
一段时间后,文件 file1.js
在 A 中更改,file1.js
(不是 file2.js
,但相同 file1.js
)在 B 和 file3.js
中在 C.
然后 B 被合并到 A 中,解决了因为 file1.js
.
如果在 B 合并到 A 之后再将 C 合并到 A,是否会发生任何冲突?
我希望答案是否定的,但是我仍然很好奇在将 C 合并到 A 时是否必须以任何方式解决 file1.js
冲突,或者我是否希望在合并时遇到任何困难。
谢谢。
不会有冲突。合并操作只是添加两个父项的新提交(除了你所在的分支上没有提交的情况,git 将快进)。在您的情况下,来自分支 B 的提交将已经合并到 A 上并且 git 会意识到这一点。 为了可视化该过程,我建议在 Learn Git Branching 网页上尝试解决您的问题。 您需要执行的命令列表:
git checkout -b A
git checkout -b B
git commit
git checkout -b C
git commit
git checkout A
git commit
git merge B
git merge C