2012-09-11 15 views
7

私は誤ってローカルにファイルの束をコミットしましたが、プッシュしませんでした。 基本的に私がしたいことは、この私のコミットを削除し、次にいくつかの変更を加えることです。TortoiseHG:コミットの削除

私はバックアウトでコミットを取り除くことができます。それで、実際にローカルで削除されるようにローカルにコミットしました。

プッシュすると私の偶発的なコミットとそれに対応する復帰ログが公開されますか?

答えて

15

hg rollbackのような音が欲しいです。

hg backout <REV>は、<REV>で行われた変更を元に戻す新しいコミットを作成します。最初のコミットとバックアウトコミットの両方があなたの履歴に残っています。これは、公然の場所にプッシュした後に悪いコミットを修正する必要があるいくつかのオプションの1つです。

しかし、この場合、あなたはまだ一般にプッシュしていないので、より良い解決策があります。

コミットが最後のコミット(つまりヒント)の場合、hg rollback(TortoiseHgのRepositoryメニュー)を使用できます。このコマンドは、コミットのための「元に戻す」のようなものです。

不正なコミットが履歴内の他の場所にある場合(まだパブリックリポジトリにプッシュされていない)、mq extensionを使用してその履歴の一部を書き換えることもできます。

2

hg rollbackの代わりにhg strip -r . --keepを使用できます。 hg backoutは、コミットをプッシュした場合にのみ必要です。

0

あなたの質問に対する簡単な答えははいです。

バックアウトを実行すると、履歴に表示されます。
以前に提案したように、ストリップを実行します。

これは水銀の延長です。
https://www.mercurial-scm.org/wiki/StripExtension

関連する問題