1. ホーム
  2. mercurial

[解決済み] 履歴から削除せずに変更を放棄する

2022-04-20 02:17:56

質問

うまくいかなかったコミットがあるので、それを放棄したい。 履歴から削除せずに .

以前のリビジョンから更新してコミットしたため、新しいheadが作成されました。


私はブランチを持っていませんし、ブランチも欲しくありません。ただ単純に、新しいヘッドをそのまま、何も凝ったことはせず、マージも心配もせず、ただ前のヘッドを忘れて進みたいのです。

その方法が見つからないし、できないのではと思い始めています。ブランチに関するものやマージに関するものばかりです。

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

リポジトリを、忘れたいリビジョンの先頭に更新し、その後に hg commit --close-branch を使用して、その (匿名の) ブランチを閉じたものとしてマークします。 そして、そのブランチの先頭にある する を実行し、作業を続行します。

を使用すると、閉じたブランチをまだ見ることができます。 -c オプションに hg heads が、デフォルトでは表示されず、また hg merge は、閉じた頭部にマージしようとしないことがわかります。

を使用する必要があります。 hg push --force この閉じたheadを初めて他のリポジトリにプッシュするとき、実際にはリモートリポジトリに追加のheadを作成することになるからです。というのも、プッシュするとリモートリポジトリに追加のheadが作成されるからです。 --force . クローズドヘッドをプルする人は、警告に悩まされることはありません。