最後のコミット以降のすべての変更を元に戻そうとしています。私が試したgit reset --hard
とgit reset --hard HEAD
表示した後、このポストを。ヘッドは18c3773になりましたが、ローカルソースを見ると、すべてのファイルがまだ残っています。何が欠けていますか?
最後のコミット以降のすべての変更を元に戻そうとしています。私が試したgit reset --hard
とgit reset --hard HEAD
表示した後、このポストを。ヘッドは18c3773になりましたが、ローカルソースを見ると、すべてのファイルがまだ残っています。何が欠けていますか?
回答:
これにより、ステージングした可能性のあるすべてのファイルのステージングが解除されgit add
ます。
git reset
これにより、ローカルのコミットされていない変更がすべて元に戻ります(リポジトリルートで実行する必要があります)。
git checkout .
コミットされていない変更を特定のファイルまたはディレクトリのみに戻すこともできます。
git checkout [some_dir|file.txt]
コミットされていないすべての変更を元に戻す別の方法(タイプを入力するより長くなりますが、任意のサブディレクトリから機能します):
git reset --hard HEAD
これにより、追跡されていないローカルファイルがすべて削除されるため、 gitで追跡されたファイルのみが残ります。
git clean -fdx
警告: !で
-x
指定されたファイルを含む、無視されたファイルもすべて削除されます.gitignore
。あなたは、使用したい場合があり-n
、削除するファイルのプレビューのために。
要約すると、以下のコマンドを実行することは、基本的にgit clone
元のソースからのフレッシュと同じです(ただし、何も再ダウンロードしないため、はるかに高速です)。
git reset
git checkout .
git clean -fdx
これの一般的な使用方法は、ツリーが完全にクリーンであることを確認する必要があるビルドスクリプトであり、変更やローカルで作成されたオブジェクトファイルやビルドアーティファクトがなく、非常に高速に動作させ、再作成しないようにする必要があります。リポジトリ全体を毎回複製します。
git clean
コミットされていない変更は取り消されますが、追跡されていないファイルや追加されたファイルはすべて保持されます。ただし、追跡されていないファイルの一部が干渉している可能性があるため、ビルド結果に影響を与える可能性があります。たとえば、.ideaディレクトリが破損した場合はどうなりますか?
git reset
保存する必要のある変更があること
git clean -fdx
削除されました私node_modules
と.env
、素晴らしい
コミットされていないすべての変更を「元に戻す」場合は、次のコマンドを実行します。
git stash
git stash drop
追跡されていないファイルがある場合は(を実行して確認してくださいgit status
)、次のコマンドを実行してこれらを削除できます。
git clean -fdx
git stash
stash @ {0}になる新しいstashを作成します。最初に確認したい場合git stash list
は、実行してスタッシュのリストを表示できます。次のようになります。
stash@{0}: WIP on rails-4: 66c8407 remove forem residuals
stash@{1}: WIP on master: 2b8f269 Map qualifications
stash@{2}: WIP on master: 27a7e54 Use non-dynamic finders
stash@{3}: WIP on blogit: c9bd270 some changes
各スタッシュは、前のコミットメッセージにちなんで名付けられています。
git add .
before を使用して変更をステージングする必要がありますgit stash
git stash
私はソースツリーを使用しています... 2つの簡単な手順で、コミットされていないすべての変更を元に戻すことができます。
1)ワークスペースファイルのステータスをリセットするだけ
2)すべてのアンステージファイルを選択し(コマンド+ a)、右クリックして[削除]を選択します
とても簡単です:D
ここにアクセスした人が元に戻すことができるかどうかを検索するためにgit clean -f -d
、Eclipseで作成されたファイルによってでが削除され、は、
「ローカルの履歴から復元」を参照して、UIから同じことを行うことができます。ローカルの履歴から復元
0. last commit,i.e. HEAD commit
1. Working tree changes, file/directory deletion,adding,modification.
2. The changes are staged in index
3. Staged changes are committed
0->1: manual file/directory operation
1->2: git add .
2->3: git commit -m "xxx"
0->1: git diff
0->2: git diff --cached
0->1, and 0->2: git diff HEAD
last last commit->last commit: git diff HEAD^ HEAD
2->1: git reset
1->0: git checkout . #only for tracked files/directories(actions include modifying/deleting tracked files/directories)
1->0: git clean -fdx #only for untracked files/directories(action includes adding new files/directories)
2->1, and 1->0: git reset --hard HEAD
git reset && git checkout . && git clean -fdx