svn - sourcecontrol - 只引入特定的修订

标签 svn git version-control tfs mercurial

我熟悉用于源代码管理的 SVN 和 TFS。我经常遇到的一个问题是同一个文件被修改为不同的错误(比如 bugP 是用修订/变更集(N)修复的,bugQ 是用修订(N+1)修复的,bugR 是在修订/变更集(N+2)中修复的)

每个修订/变更集都在同一文件的不同部分工作,并且没有重叠。

利益相关者认为,重要的是我们在下一个版本中包含对 bugR 的修复,但不包括 bugP 和 bugQ 修复。

我知道这可能是一种非常常见的情况。如果所有修复都在同一个分支/主干中完成,是否有一种简单的方法可以只提取修复特定错误的那些修订?

其他源代码控制系统,如 GIT/Mercurial(Hg- 是我理解的标准说法)是否可以处理此类问题?

最佳答案

Git 能够挑选出您想要集成到树中的单个提交。假设错误修复是单独的提交,您可以挑选并选择要应用到当前树的那些。该命令使用它 cherry-pick

我想这就是您要找的东西吧?

我没用过 Mercurial 但 this answer讨论这个问题。

关于svn - sourcecontrol - 只引入特定的修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2043427/

相关文章:

ruby-on-rails - 将 Rubymine 中生成的文件添加到 git

git - "branch"到底是什么意思?

git - 存储库 [name] 已停用且无法重复使用

git - 将 master head 移动到分支机构

linux - 由于需要 VPN,git-svn 拒绝了基本挑战

svn - 选择 Subversion 服务器

svn - 如何合并两个SVN分支?

eclipse - 无法将文件或文件夹添加到 svn :ignore

git - .gitattributes 文件应该在提交中吗?

git - 在特定提交之前删除提交