如何在不切换的情况下提交不同的svn分支

ank*_*aj9 7 svn branch commit

我正在处理通常在trunk中的代码,但由于最近的更改,我不得不将工作区切换到分支.

是否可以在分支中工作时对主干进行任何更改,而无需将项目实际切换到主干

我基本上想要在trunk和branch中提交更改,而不是一次又一次地来回切换

Dav*_* W. 5

简短的回答:没有

这就是上帝创造的原因svn switch.它允许您更改工作目录的基础分支,而不会丢失您的工作.

可以这样想:开发人员多少次破坏了一些东西,因为他们已经对自己说"嘿,我没有必要对此进行测试.这是一个改变"

即使Subversion允许你做你想做的事情,它仍然是一个坏主意.您基本上是在代码库中进行更改,而没有确保它们首先工作的真正方法.这就是为什么Subversion要求你有一个工作目录才能进行更改*.你会如何测试你的变化?

如果您不想使用,svn switch因为您不想丢失您的工作,您可以执行以下操作:

  • 将整个工作目录复制到另一个位置,然后使用svn switch一个来创建该中继.
  • 在你的分支上完成你的工作.提交更改并记下修订号.现在,要么做一个svn cosvn switch获得一个主干工作副本.然后使用svn merge -r将您的更改合并到主干.当然,在提交之前测试您的更改.

* Subversion并让mkdir,cp,mv,并rm直接在一个URL的工作,但是这主要是为了让你操作分支,而无需创建工作目录.

  • 简短的回答:使用git (2认同)