我认为 git-review 是不可能的,但是你可以在没有 git-review 的情况下使用 raw push 命令来做到这一点。
例如,通常没有 git-review 你会使用这样的命令:
git push origin HEAD:refs/for/master
A如果你只想推送一个(只有在之前的所有提交都已经在的情况下才会推送一个master)特定的提交,例如 commit A,你可以使用它的哈希而不是HEAD:
git push origin A:refs/for/master
但是哈希的使用不是很好,因为您应该知道它,并且您可以使用这样的构造以更简单的方式执行此操作HEAD~2,这将告诉 git 使用第三次提交从开始HEAD,在您的情况下它将是A:
git push origin HEAD~2:refs/for/master
但是像这样的构造git push origin HEAD~2:refs/for/master太长了,你可以创建几个这样的git 别名(下面的示例别名将始终master用作目标分支,因此如果在您的工作流程中使用多个目标分支master,development那么您将需要为每个分支都喜欢review-master-2和review-development-2):
git config --global alias.review-1 'push origin HEAD~1:refs/for/master'
git config --global alias.review-2 'push origin HEAD~2:refs/for/master'
git config --global alias.review-3 'push origin HEAD~3:refs/for/master'
git config --global alias.review-4 'push origin HEAD~4:refs/for/master'
git config --global alias.review-5 'push origin HEAD~5:refs/for/master'
A使用别名,您可以使用如下短命令推送提交:
git review-2