私はMercurialが初めてです。私はそうしhg status
ましたが、最後のコミット以降に変更されたファイルがM
前にあるのを見ました。私はそれから試しhg update -C
ました。M
以前のファイルのバージョンに戻す方法はありますhg update -C
か? それとも私はかなりめちゃくちゃですか?:(hg update -C
最後のコミット以降の変更を破棄するため
質問する
15376 次
4 に答える
15
残念ながら、次の場所にありhg help update
ます。
options:
-C --clean discard uncommitted changes (no backup)
適切なワークフローはcommit
、未処理の変更 (おそらく新しいヘッドが作成される) とmerge
、インポートしたいリビジョンをコミットすることでした。
中途半端な一連の変更をコミットする必要がない場合は、shelve
拡張機能を確認してください。これはまさにこの目的のために設計されています: コミットされていない変更のすべてまたは一部を一時的に脇に置き、hg
それらを持ち込む前に操作を実行できるようにします。再び。( shelve
mercurial では配布されていませんが、含まれている可能性はあると思います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
ジェイソンの答えはかなり遅いですが、他の人を助けるかもしれません。
私たちは同じ問題を抱えていて、ここで解決策を見つけました..
簡単に言えば:
- タイプ
hg heads
- 変更の先頭がリポジトリのどこかに残っていることがわかります - 頭のIDをコピーしてタイプ
hg update <id_of_your_head>
于 2016-12-22T20:42:32.053 に答える