如何显示我在所有分支上进行的所有提交?

时间:2014-07-14 21:06:41

标签: git git-log

我希望看到我在所有分支上做出的所有提交,以及每个提交的分支。我已经尝试了git log --branches --author="My Name",但这并没有告诉我每个提交的分支是什么。

3 个答案:

答案 0 :(得分:2)

你提到(强调我的):

  

我希望看到我在所有分支上提交的所有提交,以及每次提交的分支。我已经尝试了git log --branches --author="My Name",但并没有告诉我每个提交的分支是什么

您无法检索有关每次提交“分支”的信息。提交者不存储该信息,他们对分支的存在是不可知的,并且完全独立于它们。此外,分支可以共享提交,因此您无法确定是否在一个分支或另一个分支上进行了提交。

相反,如果您想知道特定分支是否包含提交,您可以使用

git branch --contains <commit>

查看包含该提交的分支列表...但这听起来并不像您正在寻找的那样。

答案 1 :(得分:1)

我认为使用gitk会产生一个相当不错的结果。

gitk --all --author="username"

但同样,提交并非由特定分支拥有,因此在查看所有分支并过滤掉您的提交时,您可能会看到大量分支,您根本不知道它们存在,具体取决于存储库的复杂性。对于较小的回购,我会想象这会变得非常易读。

我猜git log对应的东西就像

git log --oneline --decorate --all --author="username"

由于某种原因,我觉得它不可读。

答案 2 :(得分:-1)

您可以使用以下三项中的任何命令来获得所需的输出:

  
      
  1. git log --pretty = format:“%ad:%an:%d:%B” - 全部 --author =我的名字

  2.   
  3. git log --graph - 全部 --topo-order --decorate --oneline --boundary   --author =我的名

  4.   
  5. git log --graph --pretty = format:'%Cblue%h%Creset - %C(红色)%d%Creset%s   %Cgreen(%cr)%C(粗体蓝色)&lt;%an&gt;%Creset' - 全部 --author =我的名字

  6.   

如果针对特定分支运行,您还可以使用 - 分支而不是 - 全部 - 默认情况下全部为您提供所有分支的输出。