我熟悉用于源代码管理的 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/