【问题标题】:TFS: Checkin mistakenly made before a branchTFS:在分支之前错误地签入
【发布时间】:2015-06-07 02:44:45
【问题描述】:

我正在启动一个功能,做了一些工作更改,然后我们(管理层和架构师)决定为这个功能创建一个新分支。

问题是我已经进行了一些签入(并且其他用户在之后进行了一些其他不冲突的更改),这些签入必须从他们当前的分支中“删除”,然后放到新的分支上。

你有没有一种方法可以做到这一点,而不必复制我修改的所有文件(120 个文件,在应用程序的不同部分),回滚 ma 更改,然后在新分支中检出所有修改过的文件, 并使用我的修改复制文件?

我们使用的是 TFS(如果我没记错的话,是 2010 年)。

【问题讨论】:

  • 旁注:您的 TFS 2010 服务器下个月将不再提供主要支持!

标签: version-control tfs branch branching-and-merging


【解决方案1】:

有两种方法:

1) 可以追溯创建分支,因此最简单的方法是放弃您创建的分支并简单地创建一个新分支,该分支取自您不需要的检查之前的更改集(或日期/时间或标签) -在。如果您有一些以后的签到仍想保留在分支中,只需像往常一样将它们合并到新分支中。 (注意:分支非常轻量级,因为它们基本上只保留与主线的差异,因此您要放弃的分支不会占用太多磁盘空间,因为它几乎没有变化)

2) 或者检出分支中受影响的文件,用以前的版本复制它们,然后再次检入以“回滚”不需要的更改集。 (虽然这是一种更加费力且容易出错的方法 - 我会选择选项(1),除非有充分的理由不这样做)

【讨论】:

  • 新分支尚未创建;) 但是,我不能按照您的指示进行操作:新分支必须包含我的新更改,并且必须放到新分支中
  • j4n,您将需要在新分支中重做更改...从经验中学习。
  • j4n,只需在不需要的更改之前从最后一个变更集分支它,然后合并您需要的任何后续变更集。如果你要创建一个分支,你几乎肯定会在某个时候进行合并,所以如果不了解合并的工作原理,你就无法真正开始分支。
猜你喜欢
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 2012-08-29
  • 2016-08-11
  • 2013-06-23
  • 2011-05-05
  • 2019-03-07
  • 1970-01-01
相关资源
最近更新 更多