git archive --format=tar --prefix="exported/" -o export.tar br2 $(git diff --name-only br1 br2)
Если вы сейчас находитесь на br2
, а br1
отстает от него, то часть внутри скобок (git diff...
) даст вам список файлов, измененных между двумя головками. Команда git archive
экспортирует эти файлы в том виде, в каком они находятся на br2
(т.е. в вашей текущей голове), в файл tar с именем export.tar
внутри каталога с именем exported/
.
Это предполагает (как вы указали в своем вопросе), что вы только добавили новые файлы и что все различия добавлены. Команда также экспортирует измененные файлы, но вы утверждаете, что их нет.