Gitリポジトリで削除されたファイルを復元する方法

リポジトリのローカルコピーから削除されたファイルは、gitから取得できます。

次のコマンドを実行します。


git ls-files -d | xargs git checkout

この例では、最初にgitリポジトリが最新であることを示しています。これはgit statusコマンドを呼び出すことで行います。 ファイルはローカルドライブ上で削除されます。 次に、git statusコマンドが再度呼び出され、削除したファイルが見つからないことが示されます。 次に、削除されたすべてのファイルを一覧表示するために、-dパラメータを指定してgit ls-filesコマンドを呼び出します。 このリストはgit checkoutコマンドにパイプされ、リポジトリからファイルを戻します。 最後に、git statusコマンドが呼び出され、リポジトリが最新であり、以前に削除されたファイルがリポジトリから復元されたことが示されます。 復元されたファイルのバージョンは、Gitでコミットされた最新のものです。 最新バージョンのファイルがコミットされていない場合、変更は再試行されません。

出力は次のようになります。


$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

$ rm logs/donotremove.txt

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        deleted:    logs/donotremove.txt

no changes added to commit (use "git add" and/or "git commit -a")

$ git ls-files -d | xargs git checkout

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

git 削除したファイル 復元

参考文献:

Git

最近のコメント