在待办事项中引用的TFS和Dangling提交

时间:2017-12-14 18:39:15

标签: git tfs

我有一个配置为使用git的TFS源代码存储库。我遵循的规则是不强制推送另一个开发人员使用的任何分支 - 但是,我们的团队有一条规则说我们可以'拥有'远程分支,因此我们可以支持我们的代码。其他开发商不会从这些“拥有”的分支机构分支机构。通常在我的日常工作中,我会重新排序本地提交,合并本地提交,重写评论等。然后在某些时候我想推送我的更改,因此它们不仅仅在我的笔记本电脑上。当然,如果我做了许多之前列出的操作,遥控器将不允许推送。所以我强迫推。在某些时候,我对我的工作感到满意,并且我将从这个“拥有”分支创建一个拉动请求到我们的开发分支 - 此时我也删除了我一直在使用的本地。一旦PR被批准并合并到开发中,原始的远程“owend”功能分支也将被删除。

一切正常。 但是,TFS具有允许您将提交链接到工作项的功能。要使用此功能,请将#IdOfWorkItem添加到提交中。 TFS会自动将工作项链接到提交,您可以从工作项中浏览该提交。太棒了。

但是,它还将链接来自我们“拥有”功能分支的这些提交。我想知道如果我添加#Id注释,推送,然后破坏提交和强制推送会发生什么。正如预期的那样,提交链接到具有给定#id的相应后备日志项。不期望的是,当我通过强制推动破坏该提交时,链接仍然存在,甚至可以导航到。 我已经知道这是一个悬挂的提交,在git中是很正常的。有各种方法可以处理它们,并且可以清理它们。

问题:

  1. TFS git是否会清理悬空提交?
  2. 如果提交和工作项之间的链接会发生什么 提交被清除
  3. 上述行为对TFS是否具有破坏性 - 是git 存储库在某些时候会对这些悬空提交做什么?
  4. 如果没有强行推动这种情况 答案是什么是备份本地存储库的建议 在你把它们推到遥控器之前?

1 个答案:

答案 0 :(得分:0)

  1. TFS git是否会清理悬空提交?
  2.   

    没有

    1. 如果提交和工作项之间的链接会发生什么 提交被清除
    2.   

      该链接仍然存在,您必须手动将其删除。即便如此   提交被破坏,它仍然存在但不属于任何分支   更多。

      1. 上述行为对TFS是否具有破坏性 - 是git 存储库在某些时候会对这些悬空提交做什么?
      2.   

        基本上,答案是否。

        1. 如果在这种情况下推力不是答案,那是什么 在将它们推送到之前备份本地存储库的建议 远程?
        2.   

          而不是强行推动,你可以使用只需按下来备份你的   回购。