gitコミットされていない、または保存されていないすべての変更を元に戻します

この記事の翻訳gitコミットされていない、または保存されていないすべての変更を元に戻す

最後のコミット以降のすべての変更を取り消そうとしてい ます。 最後のコミット以降のすべての変更を取り消そうとしましたI試みたgit reset --hardgit reset --hard HEAD見た後、このPOSTを ビューでは、この記事の後、私はそれを試してみましたgit reset --hardgit reset --hard HEAD ヘッドで応答すると、18c3773になりました...しかし、ローカルソースを見ると、すべてのファイルがまだ残っています。ヘッドで 応答する と、18c3773です...しかし、ローカルソースを見ると、すべてのファイルがまだ存在しています。何が欠けていますか?何が欠けてい ますか?


#1階

参照:https : //stackoom.com/question/x3hV/gitコミットされていない、または保存されていないすべての変更を元に戻す


#2F

  • これにより、ステージングした可能性のあるすべてのファイルがアンステージングされgit addます。 これにより、ステージングに使用したgit addすべてのファイルがキャンセルされます。

     git reset 
  • これはすべてのローカルのコミットされていない変更を元に戻します(レポルートで実行する必要があります):これはすべてのローカルのコミットされていない変更を元に戻します(レポルートで実行する必要があります)(レポルートで実行する必要があります ):

     git checkout . 

    コミットされていない変更を特定のファイルまたはディレクトリのみに戻すこともできます。コミットされていない変更を特定のファイルまたはディレクトリのみに戻すこともでき ます。

     git checkout [some_dir|file.txt] 

    コミットされていないすべての変更を元に戻す別の方法( タイプは長くなりますが、任意のサブディレクトリから機能します):コミットされていないすべての変更を元に戻す別の方法(入力は長くなりますが、任意のサブディレクトリから機能します):

     git reset --hard HEAD 
  • これにより、すべてのローカルの追跡されていないファイル が削除されgitで追跡されたファイルのみが残ります。これにより、すべてのローカルの追跡されていないファイルが削除されgitで追跡されたファイルのみ保持されます

     git clean -fdx 

    WARNING: -xウィルによってはまたで指定されたものも含めてすべて削除ファイルを、無視.gitignore!の 警告: -xすべてのファイルを削除し、無視されます、など、.gitignore指定されたファイル! あなたがして、使用することが-nなければ削除されたファイルのプレビューのために。 あなたは使用することをお勧めします-n削除したいプレビューにファイルを。


要約すると、以下のコマンドの実行は基本的にgit clone元のソースからの新鮮なものと同じです(しかし、何も再ダウンロードしないため、はるかに高速です): 要約すると、次のコマンドの実行は基本的に元のソースからの新しいものと同じですgit clone(しかしそれは何も再ダウンロードしないので、より高速です):

git reset
git checkout .
git clean -fdx

これの一般的な使用法は、ツリーが完全にクリーンであることを確認する必要があるビルドスクリプトであり、変更やローカルで作成されたオブジェクトファイルやビルドアーティファクトがないこと、および非常に高速に動作させて再作成しないことを望む場合リポジトリ全体を毎回複製します。 この状況の一般的な使用方法は、ツリーが完全にクリーンであることを確認する必要がある場合のビルドスクリプトです。変更やローカルで作成されたオブジェクトファイルやビルドアーティファクトがなく、機能させたい場合です。これは非常に高速で、リポジトリ全体を毎回クローンすることはできません。


#3階

ありますgit stash-あなたの地元を変更し、AT Aすることができます再適用後の合計時間またはIFは、もはや必要とされ落とさないどの「スタッシュ」 git stash-それは「git stash」ローカルの変更は、もはや削除される可能性があり、必要であれば、あなたは、将来的に再適用することはできません

もっとスタッシュON情報 の隠蔽についての詳細のための情報


#4F

あなたへのTD幅=願い「IF 利用アンドゥ」コミットされていないすべての変更は、単にRUN: あなたが「したい場合は元に戻すだけで実行する」コミットされていないすべての変更、:

git stash
git stash drop

追跡git statusされてい ないファイルがある場合(を実行して確認)、これらを実行すると削除される可能性があります。追跡されていないファイルがある場合(確認を実行して)、次のコマンドを実行してこれらのファイルを削除できます。git status

git clean -fdx

git stashstash @ {0}になる新しいstashを git stash作成します 新しいストレージを作成すると、それがstorage @ {0}になります。あなたが実行できる場合、TD幅=チェックファーストをご希望のgit stash listあなたのスタッシュの参照A一覧へ。 確認したい場合は、あなたが実行することができます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

各スタッシュは前のコミット メッセージにちなんで命名され、各ストアは前のコミットメッセージにちなんで命名されます。


#5F

ここでは、これらの壁紙の検索達しWHOのために彼らは、アンドゥを使用することができればgit clean -f -dここでAファイルの作成により、Eclipseは、削除された 彼らは取り消さ検索することができるかどうか、ここに到着した人のためにgit clean -f -d、削除日食作成したファイルを、

参照:ローカル履歴 から復元を使用して、UIから同じことをUI から実行できます。「ローカル履歴から復元」を使用して、UIから同じ操作を実行し、参照を取得するためにUIから同じ操作を実行できます:ローカル履歴から復元


#6階

1から移行する国は、新にコミットコミット 新しい提出を提出する状態遷移から

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"

DIFFチェック の違いを調べます

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 cloneと 同等、何も再ダウンロードしないgit cloneと同等

git reset; git checkout .; git clean -fdx
公開された0件の元の記事 賞賛された8件 30,000回以上の閲覧

おすすめ

転載: blog.csdn.net/asdfgh0077/article/details/105464374