我们正在尝试实现一个 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