为什么在TFS

时间:2016-11-18 11:57:08

标签: git tfs visual-studio-code

我想知道,为什么我在TFS中看到这个提交:

enter image description here

这就是我所做的:

  1. 我更改了这些文件
  2. my commit

    1. 与此同时,另一位开发人员提交了提交(94feaf removed literal types from workflow/identity query as this comes from)并将其推送
    2. another commit

      1. 我已经提交了localy的更改(
        提交a7de7a default value for root, ignored empty criteria)并在VS代码中单击同步按钮。同步确实是拉动和推动。

      2. 为什么提交bcbb87 Merge branch 'master'的更改与94feaf完全相同?

        merge commit

1 个答案:

答案 0 :(得分:0)

如评论所述,您需要一个pull --rebase来避免这些合并。

但是,详见this feature request

  

“同步”按钮应遵循默认的标准拉力基础设置:

git config --global pull.rebase true 

但事实并非如此:

  

在我们的回购中,我们设置选项pull.rebase = true   但是在Visual Studio中,它会按照预期进行合并而不是变换   请修理它。

现状:

git rebase is supported in Visual Studio 2015

  

该功能可在团队资源管理器的“branches”面板下找到。

但是:

  

我不太清楚“为pullpull --rebase设置单独的手势”背后的原因。   我可能会以大多数开发人员的名义发言:我们希望简单明了。我们都期望“Sync”按钮可以拉动然后推动。我们都希望pull命令考虑我们为repos设置的设置,无论它是合并还是rebase。

Since Git 2.9,我建议:

git config pull.rebase true
git config rebase.autoStash true

但同样,Visual Studio中尚未完全支持这些设置。