web-dev-qa-db-ja.com

gitで最後にコミットした後にすべての変更をリセットする

追加したファイルの削除、変更したファイルのリセット、削除したファイルの追加を含め、最後のコミット後にeveryに行った変更を元に戻す方法は?

281
Dogbert

最初に変更をリセットする

git reset HEAD --hard

それから追跡されていないものすべてをきれいにしなさい。 .gitignoreが原因で追跡されていないファイルを保持したい場合は、このコマンドに注意してください。

git clean -fd
492

前回のコミット後にディレクトリに加えられたすべての変更を元に戻すにはどうすればよいですか。

  1. あなたはtracked filesへの変更を元に戻すことができます:

    git reset HEAD --hard
    
  2. あなたは追跡されていないファイルを削除することができます:

    git clean -f
    
  3. あなたはntrackedファイルとディレクトリを削除することができます:

    git clean -fd
    

    しかし追跡されていないファイルへの変更を元に戻すことはできません

  4. あなたは削除することができます無視され、追跡されないファイルとディレクトリ

    git clean -fdx
    

    しかし無視したファイルへの変更を元に戻すことはできません

clean.requireForcefalseに設定することもできます。

git config --global --add clean.requireForce false

-fを使用するときに--forcegit clean)を使用しないようにするため。

53
Ortomala Lokni

この状況で機能するコマンドは2つあります。

root> git reset --hard HEAD〜1

root> git Push -f

その他のgitコマンドについては、これを参照してください page

0
RKS