我认为 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