2016-06-10 43 views
1

我有像/ QA,/开发人员和每个开发人员的分支机构。如果我们做git合并,有没有可能失去更改?

任何时候,如果我在开发者分支中做任何更改,我会将其提交给我的单个分支,并将其合并到开发者中,如果任何其他开发者必须提交任何更改,他会将这些更改从开发人员拖入分支并将其合并到他的分支如果发生冲突,他会解决问题并落实分支并将其合并给开发人员。

如果我遵循上面解释的过程,是否有可能失去更改?

要概括,如果我们合并新变化(个别分支)老(开发分支)

就能变幻丢失或者如果我们合并老分支新更改的分支?

+0

冲突始终可能由开发人员正确解决。这是你的意思吗? –

+0

其实我没有考虑冲突,我的一位高级团队成员表示不合并/ QA分支给开发人员,而是将你的分支合并到质量保证中,否则你将会失去改变,但我确信它不会以这种方式工作所以只是要求确认。 – Ali786

+0

合并本身不会松动变化,不正确的合并会。 – neevek

回答

2

当git合并时,它看到两个变化发生在同一个地方(这意味着它必须保持一个,失去另一个)。它标志着一个冲突,所以开发者决定该怎么做。当然,开发人员可以决定不保留更改并完成合并。

Git合并通过发现'other'分支中每个提交的变化并将它们应用到'head'分支来工作,它无法应用更改的唯一原因是如果它无法找到做出改变,从而产生冲突。

+0

是的,你是对的,但我没有问过失去的变化是否会发生冲突。 – Ali786

+0

#ail786在进一步的考虑中,如果通过正则表达式发现修补程序的位置,并且目标代码中有两个匹配项,并且Git不检查此修补程序,那么修补程序可能会被误用。 – Gregg

+0

@spazm看到这个讨论http://stackoverflow.com/questions/38077262/git-rebase-implementation-details。通过从一组提交到另一组提交“修补”补丁,类似地实现了恢复和合并。 – Gregg

相关问题