Я создал поток, посвященный подобным вопросам для любой языки программирования здесь .
Java также упоминается . Вот краткое изложение:
Я не думаю, что нужно использовать git-archive. Используя - только имя
, вы можете настроить таргетинг на файлы:
tar czf new-files.tar.gz `git diff --name-only [diff options]`
Поскольку вы новичок в Linux, это может потребовать некоторых пояснений:
Обратные кавычки в командной строке заставляют оболочку сначала выполните команду с обратными кавычками, а затем замените вывод этой команды в командной строке tar
. Итак, сначала запускается git diff
, который генерирует список имен файлов, по одному в каждой строке. Новые строки сворачиваются в пробелы, а весь список файлов помещается в командную строку tar
. Затем tar
запускается для создания данного архива. Обратите внимание, что при этом могут генерироваться довольно длинные командные строки, поэтому, если у вас очень большое количество измененных файлов, вам может потребоваться другой метод.