3

CVSでは、ローカルの変更が台無しになり、他のファイルに加えられたコミットされていないローカルの変更を保持したまま、そのファイルで最初からやり直したいので、ファイルへのローカルの変更を破棄するために「最新のヘッドから置き換える」ことがあります。 。MercurialとGitで同等の方法を実行するにはどうすればよいですか?

4

3 に答える 3

3

Mercurialの場合は、を使用しますhg revert。を参照してくださいhg help revert

編集

明確にするために、ファイルを以前のリビジョン にhg revert変更します。親チェンジセットを別のリビジョンに変更します。どちらの場合も、使用されない限り、コミットされていない変更は保持されます。hg update-C

于 2012-04-17T15:30:14.423 に答える
3

GITで、まだコミットしていないローカル変更を行った場合は、次のようにします。

git reset --hard

2つのことを行います:1)「インデックス」からのもの(コミットするためにステージングしたもの)と2)作業ディレクトリ内のもの(まだコミットするためにステージングしていないもの)を削除します。'--hard'の他に他のオプションがあるので、' git help reset'でドキュメントを確認してください-しかし、あなたの質問に基づいて、'--hard'がオプションになります。

あなたが単一のファイルを元に戻すことを探しているなら、

git checkout -- /path/to/file

トリックを行います。[いくつかの変更を元に戻す方法を説明している「gitstatus」の出力を参照してください]。

于 2012-04-17T15:33:18.917 に答える
2

Mercurialの場合: hg revert fileNameそのファイルを現在のリビジョンに戻します。

これにより、fileName.origファイルが生成されるため、万が一の場合に備えて、元に戻したい変更を保持できます。ファイルを元に戻し、.origファイルがない場合は、次の-Cオプション を追加できます。hg revert fileName -C

于 2012-04-26T00:11:16.987 に答える