1. ホーム
  2. git

Mercurial で git reset --hard HEAD を行うには?

2023-08-13 10:29:52

質問

GitユーザーでMercurialを使おうとしています。

こんなことがありました。私は hg backout を実行しました。それは新しいheadを作成したので、hgは私にマージするように指示しました("default"に戻ると思います)。マージの後、まだコミットしなければならないと言われました。それから、マージで衝突を解決するときに何か間違ったことをしたことに気づき、すべてを hg backout つまり、この未コミットのマージを消したいのです。Git では、この未コミットの内容はインデックスに格納され、私は単に git reset --hard HEAD を実行して消すことができますが、私が読んだところでは、Mercurial にはインデックスが存在しないようです。では、どうすればこの状態から抜け出せるのでしょうか?

どのように解決するのですか?

まだコミットしていない場合、そしてまだしていないようであれば、すべてのマージ作業を取り消すことができます。 hg update --clean .

しかし、新しいmercurialでは、1つのファイルを再マージする便利なコマンドがあります。 hg resolve path/to/file.ext . から hg help resolve :

The available actions are: ...

 4) discard your current attempt(s) at resolving conflicts and

再起動 ゼロからマージします: "hg resolve file..." (or "-a" for all で解決します)