フォルダー内のすべてのコンテンツを削除したので、フォルダーは空です。リモート リポジトリにはまだコピーが残っています。しかし、 を実行してもgit pull
削除されたファイルは元に戻りません。これは本来のやり方ではないのでしょうか?
そこで調べてみたところ、次のようにすればファイルを元に戻せることがわかりました。git checkout <revision> -- <name of file>
しかし、それはファイルに対してのみ機能します。
ディレクトリ内のすべてのファイルを取得するにはどうすればよいですか?
ベストアンサー1
ファイルでできることはすべて、フォルダーでもできます。
また、Gitリポジトリで削除されたファイルを見つけて復元する
ファイルは作業ツリーから削除されましたが、まだコミットされていません:
変更をまだインデックス化 ( ) していない場合は、git add
ディレクトリの内容を元に戻すことができます。
git checkout -- path/to/folder
削除がすでにインデックスされている場合は、まずそれをリセットする必要があります。
git reset -- path/to/folder
git checkout -- path/to/folder
作業ツリー全体を復元します(単一のフォルダではありません)。ただし、コミットされていない変更はすべて失われます。
git reset --hard HEAD
過去のあるコミットでファイルが削除された場合:
指定されたパスに影響を与えた最後のコミットを検索します。ファイルは HEAD コミットにないため、このコミットによって削除されたはずです。
git rev-list -n 1 HEAD -- <file_path>
^
次に、キャレット ( ) 記号を使用して、前のコミットのバージョンをチェックアウトします。
git checkout <deleting_commit>^ -- <file_path>
遠隔コミットから完全な作業ツリーを復元する
git reset --hard <revision>