53

いくつかのファイルを修正したコミットがあります。修正の一部であったこれらのファイルの一部は、このコミットに含めたくありません。Mercurial で、コミットから特定のファイルを削除する際に、私が行った変更を失うことなく、そのファイルを削除する方法はありますか? ありがとうございました。

手順:

  1. いくつかの変更を加えました
  2. hg コミット -m
  3. さらにいくつかの変更を加えました (これらのファイルの一部は誤って修正されました)
  4. hg 修正
4

2 に答える 2

87

試してみる:

hg forget somefile.txt
hg commit --amend

ファイルが新しい場合 (つまり、hg add を使用した場合)。

そのファイルが既に存在する場合は、次を試してください。

cp somefile.txt somefile.txt.bak
hg revert somefile.txt --rev .~1
hg commit --amend

これは基本的に、mercurial にrevertファイル ( somefile.txt) を 1 リビジョン前の状態 ( ) に戻すように指示することです--rev .~1

変更を失わないように、コマンドを入力する前に元に戻すファイルを必ずバックアップしてください。Mercurial が自動的にこれを行うという印象を受けましたが、すぐにテストした後ではよくわかりません。

于 2013-09-16T10:02:33.560 に答える