2016-06-13 38 views
2

似乎我应该能够使用Subclipse或Tortoise来完成此操作。SVN切换到另一个分支,允许我合并/提交以后

我开始研究分支中的一个功能,并且该功能的范围增加了,所以我没有检入以保持该分支稳定。 我想要一个地方办理入住手续,所以我分支了原始分支,并且我想将我的副本指向该分支。

使用SVN开关,似乎我必须解决冲突作为过程的一部分,但我不准备这样做。我只想让我的工作空间现在指向它之前指向的分支的副本,从而允许我在自己的时间进行合并和更新。

有没有办法做到这一点?

回答

1

交换机必须进行更新。我不认为你的问题是与开关,它可能是你创建的分支。假设你的工作副本已更新到版本库的r100,并开始在本地进行更改。现在你决定创建你的分支,并根据不在r150的仓库HEAD创建它。那么是的,你可能会遇到一些问题,因为这个分支并不是真正从你的工作副本创建的。

如果您想围绕使存储更改变得容易进行优化,那么最好的办法是从工作副本创建分支。当您选择您的项目并选择团队>创建分支/标记时,这是向导中的一个选项之一...

工作副本可能处于疯狂的混合修订状态,这就是创建分支的原因。因此,稍后当您想要回到您的更改并希望将其合并回主干或让分支赶上主干时,可能会稍微困难一些。

如果你对你的工作副本的修订版本有一个大致的了解,那么中间接地方法就是根据存储库版本创建分支。然后,分支是干净的,当您使用交换机更新工作副本时,可以最大限度地减少冲突的可能性。

+0

我想你明白我的问题,但我不确定我了解你的解决方案。我认为我的问题是我不完全了解切换的目的。基本上,我的工作副本是主干,但是主干冻结后,我需要将代码提交到某处(当前主干的一个分支)。我想继续工作,在我的日程表上提交/解决冲突我只希望我的工作副本来自干线分支,而不是干线。 开关似乎要求您将工作副本和新回购地点作为其过程的一部分进行同步,而现在我不需要这样做。 –

+1

我明白你的问题,你想要的东西不存在。开关更新您的工作副本指向一个新的分支,这需要进行更新。我给你的技巧是尽可能确保分支与你的工作副本相同,使更新无效或接近它。 –

+0

谢谢,我遵循指导原则并成功切换。我在分支和切换之前解决了所有冲突。关于何时必须将此分支合并回原始行的建议?谢谢。 –

1

我不知道我明白你想要做什么。无论如何,在解决这些冲突之前,您必须先与同事讨论这些冲突。

但是,如果您想推迟冲突解决并开始在新分支上工作,只需签出新分支的新工作副本。保留现有的工作副本未提交的更改(不要将其删除!)并使用新的干净的工作副本。

+0

我有一个分支的修改工作副本,我想创建该分支的临时分支,指向我当前的工作副本,并继续工作,而不必合并/更新我当前的更改。 Switch会这样做,除非它将哑文本合并到所有具有冲突的文件中,这几乎是所有文件的冲突。我只是想改变我的副本指向并继续工作的地方,最终融合回SVN希望我做的这一秒。 –

0

如果我正确地理解了这一点,您将获得原始分支(分支1)和您从该分支代码创建的分支(分支2)。我没有从分支1切换到分支2,而是结账分支2,复制我在分支1中做出的更改(解决任何冲突)并提交给分支2.我发现在分支代码库之间使用SVN切换并不像优雅它应该是,有时候最好只是复制/粘贴代码更改。

+1

谢谢,它看起来像这是我唯一的选择。我真的希望我可以推迟解决冲突,但它看起来像开关一样强大,我认为。 –

相关问题