我们正在尝试实现一个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
答案 0 :(得分:2)
git log @{u}..
这将列出尚未推送到远程的所有提交。如果你想要每个提交的差异,那么在log
之后添加一个-pgit log -p @{u}..
是的,最后两个点是必要的。 :)
答案 1 :(得分:0)
你可以使用git push --porcelain。