私はローカルでのみ使用するMercurialリポジトリを持っています...それは私の個人的な使用のためです(だから私はどこにも「プッシュ」しません)。
私は3つのファイルでコミットしましたが、その後4つのファイルをコミットする必要があることを理解しました...
last(最新の1つのみ)コミットを「ロールバック」し、正しいファイルで「再コミット」する方法はありますか?
(理由はわかりませんが、「現在のリビジョンを修正する」オプションがアクティブではないため、使用できません...)
次のコマンドが必要です。
hg rollback
参照: http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html .
(技術的には、これは2013年8月のバージョン2.7で非推奨になりましたが、まったく同じことを行う代替手段はまだ見ていません。)
答えはstripです(有効にしていない場合は、ここで有効にする方法を確認できます: https:/ /stackoverflow.com/a/18832892/179581 )。
最新のコミットの使用のみを元に戻したい場合:
hg strip --keep -r .
特定のコミットに戻したい場合:
hg strip --keep -r 1234
Stripを使用すると、ファイルの状態は指定したコミットに戻りますが、保留中の変更として保持されるため、それらをファイルとともに新しいコミットに適用できます。
コマンドを誤って使用した場合、または変更を回復したい場合は、。hg/strip-backupフォルダーでストリップされたファイルを見つけることができます。
ファイルを復元する方法のチュートリアル、またはそれをグーグルで検索するだけです(すべてのOSで同じように動作します)。
クレジット ForeverWintr
現代のhgの場合:
hg uncommit
または、正確な問題の場合:
hg add file4
hg amend