当您在Github或Stash中执行Pull Request时,您将获得当前分支的提交列表。
获取构成当前分支的提交列表的git命令是什么,而不指定我们从哪个分支的名称开始?
答案 0 :(得分:0)
您通常需要知道您来自哪个分支,以便列出特定于当前分支的提交,正如我在" Git log to get commits only for a specific branch"
中所解释的那样否则,您需要排除不属于您的分支的提交(suggested为dimirc):
git log mybranch --not $(git for-each-ref --format='%(refname)' refs/heads/ | grep -v "refs/heads/mybranch")
或者更简单,使用git merge-base
(如果您的分支as in this question上的HEAD 不):
git log $(git merge-base HEAD branch)..branch
答案 1 :(得分:0)
在git中,如果没有指定要排除的引用,则无法仅列出特定分支的提交。
但您可以以编程方式确定引用,这样的命令可能如下所示:
git log HEAD $(git branch -a | grep -v "^*" | grep -v "\->" | sed "s/^ /--not /")
为了便于使用,您可以定义别名:
git config --global alias.branchlog '!git log HEAD $(git branch -a | grep -v "^*" | grep -v "\->" | sed "s/^ /--not /")'
然后只需输入git branchlog
。
注意:如果您要忽略remote
分支机构,则必须从-a
电话中移除git branch -a
选项。
此命令将记录所有只能从当前 HEAD 访问的提交。它通过列出所有分支(git branch -a
),从结果中删除当前分支以及远程 HEAD (grep -v "^*"
和grep -v "\->"
)来实现此目的。
在最后一步中,它会为每个分支添加--not
,以告知git log
排除此引用。
注意:远程 HEAD 看起来像remote/origin/HEAD -> remote/origin/master
并且与git log
混在一起。
如果您手动输入命令,它可能如下所示:
git log HEAD --not master --not origin/master
答案 2 :(得分:0)
更改您当前的git分支
git branch - >列出回购中的分支( * 表示您在该分支中,您的提交将在此分支下) 如果你想看到任何分支的提交那么
git checkout branchname - >更改要查看提交的分支
git log - >将向您展示分支下的提交