10

私はMercurialが初めてです。私はそうしhg statusましたが、最後のコミット以降に変更されたファイルがM前にあるのを見ました。私はそれから試しhg update -Cました。M以前のファイルのバージョンに戻す方法はありますhg update -Cか? それとも私はかなりめちゃくちゃですか?:(hg update -C最後のコミット以降の変更を破棄するため

4

4 に答える 4

15

残念ながら、次の場所にありhg help updateます。

options:

-C --clean     discard uncommitted changes (no backup)

適切なワークフローはcommit、未処理の変更 (おそらく新しいヘッドが作成される) とmerge、インポートしたいリビジョンをコミットすることでした。

中途半端な一連の変更をコミットする必要がない場合は、shelve拡張機能を確認してください。これはまさにこの目的のために設計されています: コミットされていない変更のすべてまたは一部を一時的に脇に置き、hgそれらを持ち込む前に操作を実行できるようにします。再び。( shelvemercurial では配布されていませんが、含まれている可能性はあると思いますtortoisehg)。

于 2013-05-16T11:15:35.740 に答える
1

さて、見てみましょう:

PS C:\dev> hg init foo
PS C:\dev> cd .\foo
PS C:\dev\foo> echo ":)" > file.txt
PS C:\dev\foo> hg add
adding file.txt
PS C:\dev\foo> hg com -m ":D"
PS C:\dev\foo> echo "DDDD" >> .\file.txt
PS C:\dev\foo> hg sta
M file.txt
PS C:\dev\foo> hg up -C
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
PS C:\dev\foo> hg sta
PS C:\dev\foo> dir


    Directory: C:\dev\foo


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         5/14/2013   4:06 PM            .hg
-a---         5/14/2013   4:06 PM         10 file.txt


PS C:\dev\foo> type .\file.txt
:)

なくなった。:(悪いニュースでごめんなさい!

于 2013-05-14T23:08:18.633 に答える
-1

ジェイソンの答えはかなり遅いですが、他の人を助けるかもしれません。

私たちは同じ問題を抱えていて、ここで解決策を見つけました..

簡単に言えば:

  1. タイプhg heads- 変更の先頭がリポジトリのどこかに残っていることがわかります
  2. 頭のIDをコピーしてタイプhg update <id_of_your_head>
于 2016-12-22T20:42:32.053 に答える