首页 > 解决方案 > 如何从指定的 git 分支压缩所有更改

问题描述

我想从 git 文件中的 git 指定分支获取所有更改的文件。

所以我将分支更改为 branch1,然后触发命令:

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

但此命令仅压缩来自 branch1 的最后一次提交。我想在 branch1.zip 文件中对来自 branch1 的所有提交进行所有更改。

标签: gitbrancharchive

解决方案


你在正确的轨道上!您只需将命令应用于分支中的每个提交:

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.


推荐阅读