git - 如果 merge 两个具有相同提交的分支会发生什么?

标签 git merge branch

我有两个不同的分支,它们共享一些相同的提交更改,这意味着在每个分支上执行相同的内容但不同的提交。

如果我要 merge 这两个分支,这些相同的更改会发生什么变化? Git 是否认为这是一个 merge 问题?如果不是,Git 如何决定哪个提交成为相同更改的“所有者”?

最佳答案

如果来自不同分支的更改相同,git 将保持它在 两个 分支中的状态,因此不会发生冲突。现在,关于所有者,你是什么意思?作者?好吧,当 git 跟踪行的来源(git blame)时,我的 预感 是它会按照它们在 merge 修订中出现的顺序检查父级.. . 因此,如果它发现第一个父项中存在一条线,它将把它作为必须遵循的路径才能归咎于这条线。

顺便说一句,在 merge 时,git 不会考虑组成每个分支的修订......想看看两个分支中是否存在修订。简而言之,它将检查分支自上一个共同祖先以来的内容有何不同。因此,一个分支上可能有 100 个修订版,而另一个分支上只有一个修订版,如果更改相同,那么 git 会保留它们的一个副本并且不会产生冲突。

关于git - 如果 merge 两个具有相同提交的分支会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66481917/

相关文章:

git - 以编程方式检查是否可以 merge Git 分支的正确方法是什么?

python - Pandas 合并(左连接)的关键错误

从外面git checkout分支

git - 了解 rebase 在 git 中的工作原理

git - 显然 git push 成功后,文件不在目标上

Mercurial:如何将更改 merge 到在另一个分支中重命名的文件?

git - 将选择更改提交到另一个分支然后恢复当前分支的工作?

git - 我应该删除未使用的分支吗?

Git:如何压缩分支上的所有提交

r - 根据一个表的列名和另一个表的列值合并两个大data.tables而不熔化