SVN-将分支合并到主干,覆盖某些主干更改/新功能

SVN-将分支合并到主干,覆盖某些主干更改/新功能,svn,version-control,merge,branch,trunk,Svn,Version Control,Merge,Branch,Trunk,所以。。。我有一个问题,我创建了一个分支(0.1)并在那里修复了一些东西,但同时我正在主干中处理新的东西 现在我想将分支(0.1)合并到主干,在提交之前,我做了diff,我看到应该从主干而不是分支使用一些更改(例如新的URL和新的函数名),但没有报告冲突 我该怎么处理呢?我应该进行反向合并吗?->中继到新分支的副本(例如:0.1-TEST),然后将新分支(0.1-TEST)合并回中继?您应该始终从中继中获取更改并将其合并到分支中。这样,您的分支机构总是尽可能地更新。话虽如此,如果您在第一次合并中

所以。。。我有一个问题,我创建了一个分支(0.1)并在那里修复了一些东西,但同时我正在主干中处理新的东西

现在我想将分支(0.1)合并到主干,在提交之前,我做了diff,我看到应该从主干而不是分支使用一些更改(例如新的URL和新的函数名),但没有报告冲突


我该怎么处理呢?我应该进行反向合并吗?->中继到新分支的副本(例如:0.1-TEST),然后将新分支(0.1-TEST)合并回中继?

您应该始终从中继中获取更改并将其合并到分支中。这样,您的分支机构总是尽可能地更新。话虽如此,如果您在第一次合并中没有遇到冲突,那么很有可能再次进行合并,您将不会遇到任何冲突。我知道这很糟糕,但您可能必须手动查找并删除分支中不希望在主干中进行的更改。

因此,当您合并时,您意识到希望从主干中进行的更改很少会被合并覆盖。。。您只是想要选择性合并,对吗?您能给出合并更改所使用的确切命令吗?您应该能够按照所述从分支合并。我会检查何时何地进行了不需要的更改,如果在分支之后进行了特定于分支的更改,那么在提交之前,您必须手动将这些更改从合并中排除。只有在分支完成后在分支和主干上的类似位置进行更改时,才会发生冲突。如果更改只发生在主干上,而分支上没有类似的更改,那么如果使用了正确的命令,它应该保持不变。我不同意您应该始终将更改从主干移动到分支的说法。这实际上取决于分支的用途,例如,一个稳定的分支(可能用于发布)只希望从其他位置对其进行非常有限的更改移植。那么合并分支->主干或主干->分支的经验法则是什么?在哪种情况下我应该选择哪一种?@MatjazMuhic我的工作周期通常如下:我在主干中有一些重要的事情要做,所以我做了一个分支。然后我在分支和主干中工作,当我在主干中有一系列更改时,我将它们合并到分支中。然后,当我完成分支中的工作时,我将分支合并回主干中。关键是永远不要失去同步。@morechilli我想我总是用错了这个词;是的,对于release分支,将主干合并到分支中是没有意义的,因为那样会破坏分支的用途。但是对于您正在进行辅助工作的分支,比如在Matjazs案例中,保持分支与主干同步总是很好的。