我知道这可能是关于SVN的一个非常基本的问题,但很难用很少的单词来搜索它。
让我们说我正在处理#2015
的机票,我必须在文件index.html
和app.js
中进行更改,但由于某种原因,这张机票现在受阻了,我正在等待一些事情,所以我可以继续努力。
所以为了不闲着,现在我将开始处理机票#2047
,我们会说,这将包括对文件blue-theme.css
和index.html
的更改。
假设我正在使用Subversion,这是我可以使用的最合适的操作,不会丢失我在#2015
上的工作,但也不会将这些更改提交到文件index.html
如果它们属于机票#2047
?
答案 0 :(得分:2)
Subversion的方式是为每张票创建一个分支。一旦您确信您的故障单已关闭,您就会从trunk
到故障单分支进行最终合并,对其进行测试,然后将分支合并回trunk
。
示例强>
假设您的仓库中有以下设置:
^/trunk
^/branches
让trunk
成为您的稳定"您在分支中执行错误修复时的存储库(使用Subversion的常见工作流模式)。然后,问题的情况可以按如下方式处理:
svn cp path/to/repo/trunk path/to/repo/branches/ticket-2015
svn co path/to/repo/branches/ticket-2015
ticket-2015
中处理问题2015并根据需要提交。svn cp path/to/repo/trunk path/to/repo/branches/ticket-2047; svn co path/to/repo/branches/ticket-2047
trunk
:[{1}} cd ticket-2047; svn merge ^/trunk; svn commit
的工作副本,合并您的分支并提交它来重新整合:trunk
遵循这种方法你有一些好处:
答案 1 :(得分:0)