Вот однострочная команда, работающая в Windows 7. Запустите ее из папки верхнего уровня вашего репозитория.
для / f "usebackq tokens = *"% A в (` git diff-tree -r -no-commit-id -name -diff-filter = ACMRT HEAD ~ 1 HEAD`) сделать эхо FA | xcopy "% ~ fA" "C: \ git_changed_files \% A"
blockquote>
- echo FA отвечает на неизбежный xcopy вопрос о том, копируете ли вы файл или каталог (файл), и о возможном вопросе о перезаписывании файла (перезаписывать все)
- usebackq позволяет нам использовать вывод из нашей команды git в качестве входного сигнала для нашего предложения do
- HEAD ~ 1 HEAD получает все различия между предыдущей фиксацией и текущим HEAD
- % ~ fA преобразует git-выход в полностью определенные пути (необходимые для смены косой черты на обратную косую черту)
- C: \ git_changed_files \ где вы найдете все файлы, которые отличаются