Mercurialを使用する場合、最後のコミット以降の作業ディレクトリ内のすべての変更を元に戻すにはどうすればよいですか?これは簡単なことのように思えますが、私は逃げています。
たとえば、4つのコミットがあるとします。次に、コードにいくつかの変更を加えます。次に、変更が悪いと判断し、最後のコミットでコードの状態に戻りたいだけです。だから、私はすべきだと思う:
hg update 4
4は私の最新のコミットのリビジョン番号です。ただし、Mercurialは作業ディレクトリ内のファイルを変更しません。何故なの?
hg revert
はトリックを行います。
最後のコミットに戻ります。
--all
はすべてのファイルを元に戻します。
マニュアルページの説明については、リンクを参照してください。
hg update
は通常、異なるレポジトリまたはスワップブランチからプルした後、作業ディレクトリを更新するために使用されます。 hg up myawesomebranch
。特定のバージョンに戻すためにも使用できます。 hg up -r 12
。
hg revert
の代替ソリューションはhg update -C
です。この単一のコマンドを使用して、ローカルの変更を破棄し、あるリビジョンに更新できます。
hg up -C
より短いので、通常hg revert --all --no-backup
と入力することを好みます:)
hg revert
あなたの友だちです:
hg revert --all
hg update
は、現在の作業コピーへの変更をターゲットリビジョンにマージします。最新のリビジョンと変更されたファイル(=現在の作業コピー)をマージすると、すでに持っているものと同じ変更が行われます。つまり、何もしません:-)
Mercurialを読みたい場合は、非常に素晴らしいチュートリアル Hg Init をお勧めします。
hg revert --all
その後
hg pull -u
私のために働く