如果从分支创建了工作副本(本地副本),我们可以将其称为A.编码在分支A中完成,但分支A在提交时“已关闭”,并且分支b已打开。如何将我的工作副本更改合并到分支B并提交到分支B,而不首先将我的更改提交到分支A.
Trunk - >分支A。
I checked out branch A and made changes.
Branch A was closed to commits.
从分支A创建的新分支。 分支A - > B部门。
I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A)
答案 0 :(得分:16)
svn switch
分行B
使用具有未提交更改的工作副本执行此类操作非常危险。如果出现任何问题或者存在太多冲突的更改,请回滚到备份版本,从工作副本的基本修订版A
创建一个临时分支,切换到该版本并提交更改,以便它们位于某处安全。然后将该分支合并到B
中,无论您想要哪种方式,然后将其删除。
请记住svn口头禅: 提前提交,经常提交 。如果我有超过一个工作日的未提交更改,我会感到紧张。通常,我会为持续时间超过几小时的任何开发创建一个功能分支。并定期承诺。当我完成后,我将它合并到它来自的任何地方,然后删除它。
答案 1 :(得分:2)
要非常小心,我会将更改提交到私有分支(让我们称之为C
),然后将C
分支合并到新的open-for-commits分支{{1 }}
B
到包含您要提交的更改的工作目录cd
svn copy . C
到带结帐的工作区文件夹cd ..
svn co B
进入B目录cd
第2步的修订。