我能否在git配置中设置推送选项(git push -o“ ...”)?

4

Git 2.10引入了git push选项 (git push -o "my string")。

许多命令行选项是可配置的,我想知道这个是否也可以。我在git-config中没有找到它,但也许我忽略了它。

那么,是否可以添加一组默认的推送选项,以便...

git push -o "r=joh.doe"

...运行时的默认设置...

git push

?

上下文:我正在使用Gerrit,以便直接将更改分配给审阅人(参考文档- 使用兼容的语法<push-ref>%my_string)。当上传许多更改并成对工作以彼此审阅代码时,如果我可以在推送时将该人添加为审阅人,则会很有用。
3个回答

4
这已经可以在Git 2.16中进行配置(引用发布说明)。
“--push-option=”选项现在默认为通过push.pushOption变量配置的字符串列表,“git push”命令可用。
因此,当应用于像我的用例一样的Gerrit时,这应该起作用,以默认方式将审核人添加到 john.doe 并在推送时发布草稿评论。
git config --add push.pushOption r=john.doe
git config --add push.pushOption publish-comments

2

这个选项是不可配置的。

您可以通过Gerrit的CLI ssh -p 29418 $USER@$gerrithost gerrit set-reviewers $CHANGE -a $reviewer -p $projectGerrit的hook patchset-created中添加评论者。也可以使用REST API POST /changes/{change-id}/reviewers来完成此任务。

$reviewer可以是一个包含一个或多个用户的用户组,也可以是单个用户。


是的,我知道你可以使用SSH CLI设置这个,但这需要在单个推送中迭代所有创建的更改。对于我的情况来说,服务器端钩子不是很优雅,因为它是一个共享服务器,而且不应该隐藏我分配了一个评审人的事实。有一个插件可以做到同样的事情,但它也隐藏了为什么,并且需要你是项目所有者。 - gertvdijk
@gertvdijk,在您提到的文档 https://gerrit-review.googlesource.com/Documentation/user-upload.html#reviewers 中,这个解决方案怎么样? - ElpieKay

1
如果你只是定义一些别名来完成这个操作,会怎样呢?
例如:
alias gp-doe='git push -o "r=joh.doe"'

你也可以使用Git别名

是的,这可能可行。只希望它能像 git-config 一样了解分支/远程/仓库。 - gertvdijk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接