前回のコミット以降のすべての変更を元に戻そうとしています。 この記事 を見てからgit reset --hard
とgit reset --hard HEAD
を試してみました。私はhead with 18c3773で応答します...しかし、私が自分のローカルソースを見ると、すべてのファイルはまだそこにあります。何が足りないの?
これにより、git add
でステージングした可能性のあるすべてのファイルがアンステージされます。
git reset
これにより、コミットされていないローカルの変更がすべて元に戻されます(リポジトリルートで実行する必要があります)。
git checkout .
コミットされていない変更を特定のファイルまたはディレクトリにのみ戻すこともできます。
git checkout [some_dir|file.txt]
コミットされていないすべての変更を元に戻すもう1つの方法(入力は長くなりますが、任意のサブディレクトリから機能します)。
git reset --hard HEAD
これにより、すべてのローカルの未追跡ファイルが削除されるため、 only git追跡ファイルが残ります。
git clean -fdx
警告: -x
は、.gitignore
で指定されたファイルも含めて、無視されたファイルもすべて削除します。削除するファイルのプレビューには-n
を使用することをお勧めします。
要約すると、以下のコマンドを実行することは、元のソースからの新しいgit clone
と基本的に同じです(ただし、何も再ダウンロードされないため、はるかに高速です)。
git reset
git checkout .
git clean -fdx
これに対する典型的な使用法は、あなたのツリーが完全にクリーンであることを確認しなければならないときにビルドスクリプトで行われるでしょう。リポジトリ全体を一度にクローンします。
コミットしていない変更をすべて " undo "にしたい場合は、単に実行してください。
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 stash
もあります - これはあなたのローカルな変更を「隠しておく」ことができ、後で再適用することも、必要でなくなった場合は削除することもできます。
詳細 隠蔽に関する情報
Eclipse に作成されたファイルが削除されたため、git clean -f -d
を元に戻すことができるかどうか検索して、ここに到達した人のために、
あなたは参照のために "ローカル履歴から復元"を使って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
私がしているのは
git add。 (すべて追加)
git stash
git stash drop。
1つのライナー: 'git add。 && git stash && git stash drop '