如何获取git push推送的所有引用列表?

时间:2011-10-01 00:57:59

标签: git git-push git-filter-branch git-remote

我们正在尝试实现一个git工作流,其中远程仓库上存在预接收挂钩,以验证所有推送的refs是否包含包含某些必需信息的提交消息。为了给开发人员提供一些便利,我们还想要一个本地git命令开发人员可以运行以查看push命令将推送的所有引用,以便他们可以在推送它们的推送是否通过挂钩之前进行验证,以及还创建一个新的git命令,调用filter-branch或其他东西来重写所有提交消息以填充任何缺少的信息。

那么,是否有可能获得推送命令推送的所有内容的列表? git push --dry-run --verbose只给出了一个非常粗略的摘要:

例如,

> git push --dry-run --verbose origin head:test/me

Pushing to git@git.mycompany.com:myproject.git
To git@git.mycompany.com:myproject.git
 * [new branch]      head -> test/me

2 个答案:

答案 0 :(得分:2)

git log @{u}..

这将列出尚未推送到远程的所有提交。如果你想要每个提交的差异,那么在log

之后添加一个-p
git log -p @{u}..

是的,最后两个点是必要的。 :)

答案 1 :(得分:0)

你可以使用git push --porcelain。