web-dev-qa-db-ja.com

Tortoisegitはレポジトリへの最後のコミットを取り消します

Tortoisegitには、リポジトリへの最後のコミットを取り消すオプションがありますか?

誤って、元に戻す必要のある多数の不要なファイルをgitリポジトリ(branch:master)にプッシュしました。プッシュを元に戻し、最後のコミット前の状態に戻るために、亀Gitの適切なオプションを多く検索しました。最後のコミットを取り消す方法を教えてください。

37
user2742122

最後のコミットの前に前の状態に戻す必要がある場合は、ログリストからコミット済みアクションを選択し、revert changes by this commit

気をつけてください、あなたはcommitPushを再度変更する必要があります。

34
Simo Endre

変更をまだプッシュしていない場合(したがって、コミットはローカルのみ)

  1. TortoiseGit-> Show log
  2. ロールバック先のコミットを選択します
  3. Reset "<branch>" to this...

持っている場合、これはまだ行うことができますが、force-Push(「既知の変更を上書きします」 1)。

1既知の変更を上書きする」フラグは、すでにプッシュされたコミットを新しいものに置き換えます。置き換えているコミットを誰かが既に取得している可能性がある場合は、この機能を使用しないでください。そうしないと、2つの矛盾する真実で履歴に分岐点が作成されます。


また、a shortcutもあります(1)最後のコミットと(2)あなたはまだプッシュしていない

  1. コミット->「Amend Last Commit」をチェック

これにより、最後のコミットが新しいものに置き換えられます。ただし、これを使用することはお勧めしません。最後のコミットが既にプッシュされている場合、大きな混乱に陥ることがあります。 TortoiseGitはnotここであなたを止めます。

Resetを実行すると、ログを強制的に確認し、そこでコミットがローカルかどうかを確認できます。

49
rustyx