Git Gerrit发布非本地更改修补程序

Git Gerrit发布非本地更改修补程序,git,gerrit,Git,Gerrit,我已经发布了一个对Gerrit的修改,这是我正在做的一个项目,从那以后我做了一些补丁。然而,我现在在另一台机器上,无法访问上一台机器。该项目使用谷歌的git回购工具。我想以某种方式在本地获得更改,修改它们,并在当前更改上发布新补丁,而不创建新补丁 所讨论的Gerrit是,我曾经发布过我的更改 我对Gerrit还是比较陌生,因此如果您也能解释一下各个步骤的作用,我将非常高兴。由于您使用的是新机器,您需要先完成,然后才能访问Gerrit中的项目存储库 如果需要构建代码,则可能必须重新同步所有项目。如

我已经发布了一个对Gerrit的修改,这是我正在做的一个项目,从那以后我做了一些补丁。然而,我现在在另一台机器上,无法访问上一台机器。该项目使用谷歌的git回购工具。我想以某种方式在本地获得更改,修改它们,并在当前更改上发布新补丁,而不创建新补丁

所讨论的Gerrit是,我曾经发布过我的更改


我对Gerrit还是比较陌生,因此如果您也能解释一下各个步骤的作用,我将非常高兴。

由于您使用的是新机器,您需要先完成,然后才能访问Gerrit中的项目存储库

如果需要构建代码,则可能必须重新同步所有项目。如果没有,则只能克隆正在处理的项目

git clone <repository url>
请注意,请勿修改或删除提交消息中的更改id,否则将创建新的更改而不是新的补丁集。如果错误地执行了此操作,可以再次运行
git commit--amend
,并将新的更改id替换为原始id。此外,如果您关心网络和磁盘空间的成本,您可以使用
git init foo&&cd foo&&git remote add origin
而不是
git clone
,并在复制的
git fetch
中添加
--depth=2

Gerrit支持在线编辑。因此,如果您想进行一些小的更改,还可以编辑最新的补丁集以创建草稿,然后将其发布到更改页面上。您可以在文件列表上方找到
编辑
按钮

cd <local repo>
# paste and run the copied commands
# the commands are git fetch and git checkout, like git fetch <url> refs/changes/xx/xxxx/x && git checkout FETCH_HEAD
# make changes
git add <changed files>
git commit --amend
git push origin HEAD:refs/for/<branch>