通常'git log'显示所有对当前点有贡献的提交,即使那些来自分支的提交合并到当前分支中。
是否可以发出命令以仅查看特定分支中的提交?也就是说,如果有一个集成分支,其中所有内容都在发货之前合并,是否有任何git命令只能查看该分支中的那些提交?
答案 0 :(得分:5)
这(您已经知道)指定了从集成可以访问的提交集:
g log integration
“^”操作可用于通过此提交(rev)无法访问的所有内容。例如,通过集成可以访问的所有内容都排除了master可以访问的所有内容:
g log ^master integration
通用的简写(整合但不是主人):
g log master..integration
您可以使用多个排除说明符(集成但不能使用master或devel):
g log ^master ^devel integration
希望这足以满足您的需求。此信息位于指定修订和指定范围部分的man git-rev-parse
中。
答案 1 :(得分:1)
这应该有效:
git checkout <branch>
git diff master <commit just before the merge to master>
应该有一种方法可以在合并到master之前自动获取提交的名称,这样就可以将其转换为宏或别名。
另外,请查看git log -p -m --first-parent
文档中提到的git help log
;它可能会做类似的事情。
答案 2 :(得分:0)
我不完全确定。在git中分支的想法只是指向树中位置的指针(不是像svn等那样完全独立的开发线)。
然而,您可以执行git分支--no-merged
以查看需要将哪些分支集成到当前分支中。
我想我可以编写一些能够为你提供所有提交的东西,这些提交只有当前HEAD后面的 而不是其他地方。我不知道怎么回事。