【发布时间】:2017-06-18 03:18:05
【问题描述】:
我有数百个分支的存储库,我只想为最近获取或更新的分支运行git show,如git fetch 所示,例如
$ git fetch tester
From repo:Foo/Bar
* [new branch] Foo -> origin/Foo
a7e70a8..a9d7805 Bar -> origin/Bar
+ b673629...293dc64 Baz -> origin/Baz (forced update)
+ 345850e...b3646a3 Qux -> origin/Qux (forced update)
所以我想以如下命令结束:
git show origin/Foo origin/Bar origin/Baz origin/Qux
这将向我展示这些最近获取的分支与其父提交之间的差异。
如何做到这一点?
我尝试过git show FETCH_HEAD,但它只显示一个分支以及 refname 'FETCH_HEAD' 不明确的警告。
而git show $(git branch -r --sort=authordate | head) 向我展示了更老的分支,其次该命令与-> 分行,因此它也不起作用。
【问题讨论】:
-
旁注:
git show origin/Foo没有显示origin/Foo和master之间的区别(除了一种特殊情况)。它显示了origin/Foo与其父提交之间的区别。如果只有一个origin/Foo的父提交,并且该父提交也是master命名的提交,那么您会得到一种特殊情况。 (并且,git show <c1> <c2> <c3>按通常的 diff-commit-against-its-parent(s) 顺序显示每个命名的提交。) -
@torek 更正了它显示了父提交之间的差异。