1

我们正在尝试实现一个 git 工作流,其中远程 repo 上存在一个 pre-receive 钩子,以验证所有推送的 ref 是否具有包含某些必需信息的提交消息。为了给开发者提供一些便利,我们还希望开发者可以运行一个本地 git 命令来查看所有的 refs 会被 push 命令推送,这样他们就可以在推送之前验证他们的推送是否会通过钩子,并且还创建一个新的 git 命令,该命令调用 filter-branch 或其他东西来重写所有提交消息以填充任何缺失的信息。

那么,是否有可能获得将由 push 命令推送的所有内容的列表?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
4

2 回答 2

2
git log @{u}..

这将列出所有尚未推送到远程的提交。如果您想要每个提交的差异,请在日志后添加 -p

git log -p @{u}..

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

于 2011-10-01T01:39:38.997 回答
0

你可以使用 git push --porcelain。

于 2011-10-01T01:11:29.850 回答