1. ホーム
  2. git

[解決済み] Git diff --name-only とそのリストをコピーする。

2022-03-02 15:03:30

質問

私は2つのリビジョン間で変更されたファイルのリストを取得したいだけです、それは簡単です。

git diff -–name-only commit1 commit2 > /path/to/my/file

しかし、そのリストアップされたファイルをすべて別の場所にコピーする場合は、どう書けばいいのでしょうか?そして、コピーされたファイルのために完全に同一のディレクトリ構造が必要です。

例えば、ファイルを修正・追加した場合。

/protected/texts/file1.txt
/protected/scripts/index.php
/public/pics/pic1.png

に持たせたい。 /home/changes/ は、変更および追加されたすべてのファイルです。

/home/changes/protected/texts/file1.txt
/home/changes/protected/scripts/index.php
/home/changes/public/pics/pic1.png

解決方法は?

以下のコマンドを試してみてください。

$ cp -pv --parents $(git diff --name-only) DESTINATION-DIRECTORY