我正处于一个较大的更改(例如ProjectA
)的中间,必须将齿轮切换到同一文件(ProjectB
)上的另一个项目。我还不希望我的工作进入trunk
,可能要过几天才能回到ProjectA
。
进行此设置的正确方法是什么?我是否应该创建一个ProjectA
分支并将其部分完成的工作签入其中,然后将我的工作副本切换回trunk
并在那里使用ProjectB
?
完成后,我该怎么做才能将ProjectA
合并回trunk
?
我对resolved
的冲突很满意,我只需要知道分支,切换和合并的命令...如果我走的正确的话。
目前,我们只使用trunk
完成所有工作。如果这是问题的一部分,请告诉我。
抱歉,这是骗子,但我已经尝试了一段时间。
最佳答案
假设用trunk
完成所有工作是一个好主意,并假设您不需要来回切换(也就是说,您在返回ProjectB
之前完成了ProjectA
的工作),我将执行以下操作:
ProjectA
上记录我的工作svn diff > ProjectA-WIP.diff
ProjectB
,然后提交ProjectA
应用到patch -Np0 -i ProjectA-WIP.diff
ProjectA
我经常遵循相同的步骤。假设
Project A
是一个新功能,而Project B
是一个错误修复;显然,我不能将它们混入同一提交中,并且必须先修复该错误,然后才能继续使用新功能。如何解决冲突
当冲突并非微不足道,并且
patch
根本无法帮助您时,您可以使svn
通过一些技巧来解决冲突。在
ProjectB
上完成您的工作之后:diff
的修订版本;它记录在ProjectA-WIP.diff
中:Index: some/src/file.c
===================================================================
--- some/src/file.c (revision NNNN)
+++ some/src/file.c (working copy)
NNNN
,请使用svn up -r NNNN
svn up
关于svn - 保存部分完成的更改以处理其他更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7505614/