git - 如何从指定的 git 分支压缩所有更改
问题描述
我想从 git 文件中的 git 指定分支获取所有更改的文件。
所以我将分支更改为 branch1,然后触发命令:
git archive -o branch1.zip HEAD $(git diff --name-only HEAD^)
但此命令仅压缩来自 branch1 的最后一次提交。我想在 branch1.zip 文件中对来自 branch1 的所有提交进行所有更改。
解决方案
你在正确的轨道上!您只需将命令应用于分支中的每个提交:
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
.