如何获得git推送将推送的所有引用的列表?

如何获得git推送将推送的所有引用的列表?,git,git-push,git-filter-branch,git-remote,Git,Git Push,Git Filter Branch,Git Remote,我们正在尝试实现一个git工作流,其中远程repo上存在一个预接收钩子,以验证所有推送的ref是否具有包含某些必需信息的提交消息。为了给开发人员提供一些便利,我们还希望开发人员可以运行一个本地git命令,查看push命令会推送哪些ref,这样他们可以在推送之前验证推送是否会通过钩子,还可以创建一个新的git命令,该命令调用filter branch或其他方法来重写所有提交消息,以填充任何缺少的信息 那么,有没有可能得到一个由push命令推送的所有内容的列表git push--dry run--v

我们正在尝试实现一个git工作流,其中远程repo上存在一个预接收钩子,以验证所有推送的ref是否具有包含某些必需信息的提交消息。为了给开发人员提供一些便利,我们还希望开发人员可以运行一个本地git命令,查看push命令会推送哪些ref,这样他们可以在推送之前验证推送是否会通过钩子,还可以创建一个新的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
你可以使用git push——瓷器

git log @{u}..
这将列出所有尚未推送到远程的提交。如果您想要每个提交的差异,那么在日志之后添加一个-p

git log -p @{u}..

是的,末尾的两个点是必需的。:)

您明确告诉它将HEAD推送到test/me,作为回报,它告诉您将在服务器上创建一个名为test/me的新分支。这有什么粗略的吗?@Kevin我想知道它将要传输到远程存储库的提交的完整列表,作为哈希列表或通过foo..bar语法。如果git push确实推送了refs,git push会推多少个ref?你要求的是refs,而不是提交列表。我要求的是“由push命令推送的所有内容的列表”这听起来很有希望,但@{u}应该是什么?当我运行此命令时,我得到
错误:找不到“”的上游分支错误:找不到“”的上游分支错误:找不到“”的上游分支致命:不明确参数'@{u}..:未知修订或路径不在工作树中。请使用“--”将路径与修订分开
@n虽然此答复来得很晚,但这里仍然是:@{u}是@{upstream}的缩写形式它是指向当前分支正在跟踪的远程跟踪分支尖端的指针。您看到的错误是因为当前活动分支与其远程跟踪分支之间缺少映射。运行
git branch--set upstream/
以设置映射。如果
test
是分支,而
origin
是然后远程
git分支--set-upstream-test-origin/test
将设置映射。此外,如果您撤回-ve分数,我将很高兴。很高兴知道这个快捷方式!
git-cherry-v@{u}
也可以这样做。