Git diff --name-only を実行してそのリストをコピーする 質問する

Git diff --name-only を実行してそのリストをコピーする 質問する

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

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

しかし、リストされているすべてのファイルを別の場所にコピーしたい場合は、何を記述すればよいでしょうか? また、コピーされたファイルには完全に同一のディレクトリ構造が必要です。

For example, I have modified and added files:

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

I want to have in /home/changes/ all those changed and added files:

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

ベストアンサー1

Try the following command, which I have tested:

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

おすすめ記事