假设您已向 gerrit 提交了三个文件 a.java、b.java、c.java,并且您想从提交中删除 b.java。请按照以下步骤操作。
使用以下命令从提交中删除文件。(对要删除的文件执行此操作。)
git reset HEAD^ path/to/file/b.java
Run Code Online (Sandbox Code Playgroud)使用以下命令修改提交。
git commit --amend
Run Code Online (Sandbox Code Playgroud)参考:https : //superuser.com/questions/229290/how-to-amend-the-last-commit-to-un-add-a-file/229296#229296?newreg=011d1b3234a8444295fbdd12b6d513b4
因此,您需要生成一个新的补丁集,以替换旧的补丁集。假设您自尝试编辑提交以来未进行任何其他操作,请执行
git rm <files>
git commit --amend
Run Code Online (Sandbox Code Playgroud)
您已经安装了gerrit commit钩子,不是吗?如果有的话,您就很好走了,并准备好进行推销了。您没有它,您需要将gerid Web界面的Change-id行复制到提交消息的末尾,否则gerrit将无法用新的补丁集替换以前的补丁集。
提交文件后(与修补程序集1中的内容一样,具有相同的Change-id行),将修补程序推送至gerrit
git push origin HEAD:refs/for/master
Run Code Online (Sandbox Code Playgroud)
或您要推送到的任何存储库和分支。
将来,一旦您从gerrit克隆存储库,就应该安装commit钩子。如果用例如克隆
git clone ssh://firstname.lastname@gerrit/project
Run Code Online (Sandbox Code Playgroud)
你可以用
cd project
scp firstname.lastname@gerrit:hooks/commit-msg .git/hooks
Run Code Online (Sandbox Code Playgroud)
替换适用于您的案例的路径和机器名称。
| 归档时间: |
|
| 查看次数: |
11085 次 |
| 最近记录: |