如何使用git log命令获取提交的目标分支

时间:2019-08-29 14:19:47

标签: git git-log

我有以下命令:

git log --pretty="%D" -n 2962c2b8dbd4bf78d90f228527c3cb65c4cea3b0

结果是:

HEAD -> master
local_branch




... and many many many more lines are printed out by this command. Sometimes there are outher branch names

当我尝试时:

git log --pretty="%D" -1 2962c2b8dbd4bf78d90f228527c3cb65c4cea3b0

This is the result (two empty lines):


如何实现只获得第一行或首个分支名称?

为什么第一个命令的输出这么长?为什么我将第二个命令输出为2行,尽管我将其限制为只有-1行呢?

我真的很绝望:(

1 个答案:

答案 0 :(得分:0)

如果我理解您的问题,那么您正在寻找一条命令,该命令将输出最初进行提交的分支。

git log --pretty="%D" -n 2962c2b8dbd4bf78d90f228527c3cb65c4cea3b0

这将输出可以在其上找到该提交的所有分支的引用,如果该提交现在已合并到其他分支(例如master),则将包括这些分支。

您可以尝试:

git log --merges <commit>..

查找提交在何处首次合并以及其原始分支的位置。仅当未通过快速转发合并提交时,此选项才起作用。

有关此主题的更多信息,请参见以下答案:

Finding what branch a git commit came from