在我们的设置中,我们会检查更改为Gerrit
,并且它们不会进入origin
,这是我们检查的地方,直到他们得到同行评审。
由于我是整个Git / Gerrit的新手,在我将更改推送到Gerrit之后,我实际上去清理了一些本地分支并实际上删除了我推动更改的分支。所以现在我不再拥有我的更改的本地副本,但他们在Gerrit中。他们不在Git中,因为他们尚未经过同行评审。
所以我通过检查Gerrit的新分支而不是Git来源来恢复我的本地更改。我们的远程配置如下所示
>git remote -v
gerrit ssh://myuser@domain:port/server (fetch)
gerrit ssh://myuser@domain:port/server (push)
origin ssh://myuser@domain:port/server.git (fetch)
origin ssh://myuser@domain:port/server.git (push)
我试过
>git checkout -b gmaster gerrit/refs/heads/master
fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'gerrit/refs/heads/master' which can not be resolved as commit?
如何查看Gerrit的分支,其中包含我在本地意外删除的更改?
答案 0 :(得分:2)
如果你正在使用gerrit,你应该可以访问网络界面,去那里,你会看到你的变化。
如果你有gitk,另一个选择是:
gitk --all `git reflog | cut -c1-7`
在那里搜索已删除的分支,您可以使用哈希检查它。