4

tortoisegit revert を元に戻す簡単な方法はありますか?

詳細は次のとおりです。大きな複数ファイルのチェックインをコミットしたばかりで、その直後に、大きなチェックインの前に別の小さなチェックインをコミットして、明日大きなチェックインを簡単に修正できるようにすることにしました。

そこで、tortoisegit でログを表示し、最後のチェックインを右クリックして、「元に戻す」を選択しました。これにより、変更が元に戻り、作業ディレクトリ内の一連のファイルが削除されました。私が本当に望んでいたのは、「リセット」(チェックインをロールバックして作業ディレクトリをそのままにしておく) であり、元に戻す (作業ディレクトリに「チェックインの取り消し」を作成する) ことではありませんでした。

元に戻す方法を教えてください。

4

3 に答える 3

7

さらにグーグルで調べた後、このブログ投稿で答えを見つけました。単に元に戻すコマンドをもう一度実行するだけで、余分なコミットで履歴を散らかさずに元に戻すことができます。そもそもrevertを実行したことがないかのようです。

ブログ投稿では、通常の (コマンドライン) git のこのトリックについてのみ言及していますが、同じことが tortoisegit でも機能します。特に素晴らしいのは、作業ディレクトリの他の変更が吹き飛ばされないことです。元に戻すだけです。

この回答を見つけるのがちょっと難しかったので、自己生成の Q&A ペアをここに残しておきます。他の誰かが時間を節約するのに役立つことを願っています。

于 2010-11-03T11:36:01.800 に答える
5

とにかくgit reset、あなたが望んでいたところまで。Arevertは特別なことではありません。別のコミットとは正反対のことを行う通常のコミットです。これは単なる通常のコミットであるため、最初に削除したかった他のコミットと同じようにガベージ コレクションが行われます。

于 2010-11-03T12:50:10.943 に答える
0

以前に元に戻したコミットを元に戻そうとしましたが、何もしませんでした。結果は「コミットするものがない(作業ディレクトリがクリーン)」でした。

うまくいったのは、以前は元に戻されたコミットを厳選することでした。これにより、以前に元に戻した変更が引き込まれ、それ以外の方法で作業ディレクトリが変更されることはありませんでした。

于 2012-09-07T17:16:57.297 に答える