代码之家  ›  专栏  ›  技术社区  ›  LAROmega

如何在TFS和Git存储库中查看用户的签入历史记录

  •  1
  • LAROmega  · 技术社区  · 8 年前

    我有一个奇怪的用例,我正试图找到答案。我们使用直接TFS进行源代码控制,特别是TFS 2015。所有项目都已转换为Git存储库,但它们仍存储在TFS中的一个单独集合中。我想做的是查看所有项目中用户的签入历史记录。我找到了 this question 已经有了,但所有的答案似乎都不适用于Git。即使在Visual Studio 2017中,它对Git更为友好。

    enter image description here

    Team Foundation Sidekicks 举个例子。如果我把它指向我们存档的TFS集合,它将看到其中的所有项目。但如果我查看Git集合,它会显示为空。

    知道Git是如何工作的,我强烈怀疑TFS目前只是用作一种存储机制。当您只查看一个项目时,它可以查找每个项目的签入历史记录,但它是通过执行git来实现的。或者做类似的事情。因此,它确实不知道每个项目中发生了什么。但我想如果我错了,或者有人对如何做有其他想法,我还是会问的。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Community Mohan Dere    6 年前

    要查看特定用户提交的提交历史记录,可以使用以下任何选项。

    选项1:在TFS网页中筛选

    在TFS网页的代码中心中打开Git repo->“历史记录”选项卡->选择分支->高级搜索->选择用户->发现

    enter image description here

    然后,您将获得用户在某个分支上创建的提交历史记录。

    注: 由某个用户在网页中创建的筛选器提交历史记录是分支分隔的。因此,您需要分别选择每个分支。如果要显示某个用户创建的跨分支的所有提交历史记录,可以使用所列选项2的方式。

    选项2:从本地git repo查看

    如果尚未在本地克隆TFS git repo,可以先通过 git clone <repo URL>

    然后,在本地git repo中,您可以通过以下任何命令从所有分支获取用户所做的所有提交:

    git log --all --author="username"                              #Show commits made by the user for all branches
    git log --all --oneline --author="username"                    #Show each commit for one line
    git log --oneline --decorate --graph --all --author="username" #Keep branch structure