是否有可能看到是否在启用git的tfs存储库上进行了强制推送?

时间:2016-10-29 15:27:10

标签: git tfs version-control

是否可以查看是否在启用git的tfs存储库上执行了强制推送?

在“历史记录”下的tfs UI中,有两个选项,“提交”和“分支更新”。在“分支更新”下,我认为您可以看到已对存储库执行的所有操作。在其中一个中,我可以看到已删除了许多提交,并且在您看到提交历史记录的选项卡中看不到已删除的提交。这是否意味着这种推送是强制的,还是以任何其他方式删除提交(已经推送到存储库)而不还原它们并进行新的提交?

2 个答案:

答案 0 :(得分:1)

没有这个选项和“标签”可以看到这一点。而且还有没有任何其他方法来删除提交而不还原它们并进行新的提交。如果你可以看到已经删除了一些提交,这意味着历史已被重写并强行推送。

在TFS中,重写或销毁历史记录也使用分支的rebase,squash命令和need(强制推送)权限。详细步骤在Git-SCM wiki中得到了很好的解释。您需要执行以下步骤:

  1. Force Push permissions克隆您的帐号 库中。
  2. 使用git rebase -i HEAD~6(6是要倒带的提交数)
  3. 使用Squashmerge the commits together
  4. 使用git push --force origin master强制重写历史记录
  5. 更多详细信息,请参阅MSDN上的此链接:Apply changes with rebase以及类似的问题Remove intermediate commit in Visual Studio Online

答案 1 :(得分:1)

是的,现在可以在更新的TFS版本中使用。我不知道从哪个版本开始可以使用此功能,但是对于Azure DevOps(TFS),您可以执行以下操作:

https://-> Repos下,您会看到所选分支的所有推送。如果使用Pushes执行了推送,则该推送会标有标签force