我正在使用 gerrit 做一些工作,而使用 gerrit 你只能获得提交的 refspec。就像是:
refs/changes/01/15501/2
我如何重新设置这个?
我试着打得很好
[me@server code ((7deac0e...))]$ git reset --hard refs/changes/01/15501/2
fatal: ambiguous argument 'refs/changes/01/15501/2': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
这不是最好的错误消息,所以我尝试了 agian ...
[me@server code ((7deac0e...))]$ git reset --hard -- refs/changes/01/15501/2
fatal: Cannot do hard reset with paths.
我不需要使用reset --hard,但它在我的情况下会很好用。我的脚本在代码仓库中运行,但我不知道它处于什么状态。只有一个可靠且不会更改的文件,即 reset_to_gerrit 脚本。
我告诉该脚本重置为某个 refspec,并将我的代码仓库放在我至少知道会发生什么的地方。原始状态和最终状态之间存在合并冲突的可能性非常高,硬重置应该避免所有这些。