【问题标题】:How to rebase in TFS using TFVC? (like git rebase functionality)如何使用 TFVC 在 TFS 中变基? (如 git rebase 功能)
【发布时间】:2016-01-25 09:11:21
【问题描述】:

使用 tfs2015(不是 git 而是 tfvc)

我们有一个 MAIN 分支,我从 MAIN 分支创建了我的开发分支。

__MAIN (branch)
  |__MYDEV (my new branch)

一段时间后,我的朋友们将 2 个新的变更集推送到了 MAIN。

__MAIN [change1], [change2]
  |__MYDEV [mychange1]

问题:如何通过合并(重新定位)我的更改基于它们的更改,将这 2 个更改集作为 2 个更改集放到 MYDEV 分支上?

如果我尝试将 MAIN 合并到 MYDEV 中,则会有 2 个变更集作为一堆文件的待处理更改,但我希望它们像打包在 2 个变更集中一样,并将我的更改放在它们上面。

终于如我所愿,

__MAIN [change1], [change2]
  |__MYDEV [change1], [change2], [mychange1-with-merge-fixes]

【问题讨论】:

    标签: version-control merge rebase tfs-2015


    【解决方案1】:

    如果您使用git-tfs,它将为您提供 git 的所有功能,强烈推荐。现在,Visual Studio 在检测到.git 目录时可能会有点不高兴,但您可以通过设置 GIT_DIR 和 GIT_WORK_TREE 环境变量来避免这种情况(详见this answer)。

    【讨论】:

      【解决方案2】:

      您可以使用“Rebase”工具将每个合并的变更集单独保留在分支中。

      要在 TFS 中使用 rebase 工具,如果您安装了 Team Explorer,请按照以下步骤操作:

      1. 启动 Team Explorer 并连接到您的项目。
      2. 打开“分支”。
      3. 签出您要变基的分支 (MYDEV)。
      4. 右键单击分支并选择“Rebase Onto...”选项。
      5. 选择 Onto 分支 (MAIN),然后单击“Rebase”按钮。 (解决冲突,如果在变基过程中有任何冲突,请单击“继续”按钮)

      关于TFS Rebase的介绍:https://msdn.microsoft.com/en-us/Library/vs/alm/Code/git/rebase

      【讨论】:

      • 感谢您的帮助,但是我在团队资源管理器中看不到“分支”,您有什么想法吗?
      • 我尝试了源代码管理浏览器,右键单击我的分支,但没有“Rebase to ..”选项。
      • 好吧,你说的是 git,不幸的是,我们正在使用 tfs 进行源代码控制
      • TFS2015支持TFVC和Git两种版本控制,你是说你用的是TFVC版本控制吗?
      • TFVC 不支持“rebase”功能。
      猜你喜欢
      • 2019-08-11
      • 2014-08-31
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 2018-02-22
      • 1970-01-01
      相关资源
      最近更新 更多