【问题标题】:How to create a new Patchset in Gerrit?如何在 Gerrit 中创建新的补丁集?
【发布时间】:2013-04-13 16:37:18
【问题描述】:

我是 Gerrit 的新手,想在提交新更改时创建一个新补丁。我使用本指南设置 Gerrit https://review.typo3.org/Documentation/install-quick.html

然后我尝试使用http://gerrit.googlecode.com/svn/documentation/2.0/user-changeid.html 创建一个新补丁,并在提交消息底部添加Change-Id 行。

但我得到的是新的更改而不是新的补丁集。谁能帮帮我?

谢谢

【问题讨论】:

    标签: git gerrit git-commit git-amend


    【解决方案1】:

    不要自己添加 Change-Id。按照here 的描述安装 commit-msg 挂钩。这将自动为您创建 Change-Id

    如果您想通过上传新的补丁集来改进补丁,请使用git-commit --amend保持 Change-Id 行保持原样。

    您可以在此处查看工作流程说明:http://wiki.typo3.org/Contribution_Walkthrough_with_CommandLine

    【讨论】:

      【解决方案2】:

      即使您手动添加更改 ID,它也应该是您提交消息的最后一段。
      语法应该是:

      change ID : [change ID ]
      

      【讨论】:

        【解决方案3】:

        第 1 步:为 gerrit 安装 commit-msg 挂钩

        scp -p -P 29418 <gerrit_url>:hooks/commit-msg .git/hooks/
        

        第 2 步:创建正常提交和推送(针对 Patchset1)

        例如:

        git add Server.java
        git commit -m "server added"
        git push origin HEAD:refs/for/master
        

        第 3 步:对 Server.java 进行一些更改后

        终于创建新的Patchset(Patchset 2)

        git add Server.java
        git commit --amend
        git push origin HEAD:refs/for/master
        

        重复步骤 3 以获取更多补丁

        【讨论】:

        • 给任何可能混淆的人的说明 - 这实际上意味着您应该推送到refs/for/master。这不是您必须弄清楚的某些远程分支名称的占位符 - 它实际上是 gerrit 期望的远程分支名称
        • 你不应该安装commit-msg钩子首先吗?通过这些步骤,推送到 gerrit 的初始提交将没有更改 ID。
        • 有没有办法在 GitHub 上做同样的事情?
        • AFAIK,GitHub 使用不同的代码审查方法。只需使用普通命令推送并创建拉取请求。所以你不需要设置任何额外的东西。
        猜你喜欢
        • 1970-01-01
        • 2015-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-30
        • 2019-06-01
        • 1970-01-01
        相关资源
        最近更新 更多