Как заархивировать все изменения из указанной ветки git - PullRequest
0 голосов
/ 22 января 2019

Я хотел бы получить все измененные файлы из указанной ветви git в файле git.

Поэтому я меняю ветвь на branch1, а затем запускаю команду:

git archive -o branch1.zip HEAD $(git diff --name-only HEAD^)

, но эта командаzips только последний коммит из branch1Я хотел бы иметь все изменения от всех коммитов из branch1 в файле branch1.zip.

1 Ответ

0 голосов
/ 24 января 2019

Вы на правильном пути!Вам просто нужно применить команду к каждому коммиту в ветке:

for commit_id in `git rev-list branch1`; do
    git archive -o branch1-$commit_id.zip $commit_id -- $(git diff --name-only $commit_id~ $commit_id)
done

Измененные файлы из каждого коммита помещаются в отдельный branch1-$commit_id.zip.

...