【问题标题】:Can I set push-options (git push -o "...") in git config?我可以在 git config 中设置推送选项(git push -o "...")吗?
【发布时间】:2018-02-23 08:16:41
【问题描述】:

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

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

那么,是否可以添加(一组)默认推送选项,以拥有...

git push -o "r=joh.doe"

...运行时的默认值...

git push

?

上下文: 我将它与 Gerrit 一起使用以直接将更改分配给审阅者(documentation for reference - 使用兼容的语法<push-ref>%my_string)。在上传许多更改并成对工作以审查彼此的代码时,如果我可以在推送时将该人添加为审查者,那将很有用。

【问题讨论】:

    标签: git gerrit git-push git-config


    【解决方案1】:

    这已在 Git 2.16 中变得可配置(引用 release notes)。

    “git push”的“--push-option=”选项现在默认为 通过 push.pushOption 变量配置的字符串列表。

    因此,当我的用例应用于 Gerrit 时,这应该可以将审阅者添加到 john.doe 并默认在推送时间发布草稿 cmets。

    git config --add push.pushOption r=john.doe
    git config --add push.pushOption publish-comments
    

    【讨论】:

      【解决方案2】:

      如果你只是定义一些别名来做到这一点呢?

      例如:

      alias gp-doe='git push -o "r=joh.doe"'
      

      你也可以使用Git Aliases

      【讨论】:

      • 是的,这可以工作。只是希望它知道像 git-config 这样的分支/远程/存储库。
      【解决方案3】:

      此选项不可配置。

      您可以通过Gerrit's CLIssh -p 29418 $USER@$gerrithost gerrit set-reviewers $CHANGE -a $reviewer -p $projectGerrit's hookpatchset-created中添加审阅者。 REST API POST /changes/{change-id}/reviewers 也可以完成这项工作。

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

      【讨论】:

      • 是的,我知道您可以使用 SSH CLI 进行设置,但这需要在一次推送中迭代所有创建的更改。对于我的情况,服务器端钩子不是很优雅,因为它是一个共享服务器,不应该隐藏我分配了一个审阅者。有一个插件可以做到这一点,但它也隐藏了为什么,它要求你是项目所有者。
      • @gertvdijk 在您提到的文档中,gerrit-review.googlesource.com/Documentation/… 。这个解决方案怎么样?
      猜你喜欢
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      相关资源
      最近更新 更多