如何从指定的 git 分支压缩所有更改
Posted
技术标签:
【中文标题】如何从指定的 git 分支压缩所有更改【英文标题】:How to get zipped all changes from specified git branch 【发布时间】:2019-01-22 08:43:31 【问题描述】:我想从 git 文件中的 git 指定分支获取所有更改的文件。
所以我将分支更改为 branch1,然后触发命令:
git archive -o branch1.zip HEAD $(git diff --name-only HEAD^)
但此命令仅压缩来自 branch1 的最后一次提交。 我想在 branch1.zip 文件中从 branch1 的所有提交中获得所有更改。
【问题讨论】:
所有提交的所有更改 以什么方式,以什么形式?您想在每次提交中存储所有差异或所有文件吗?为什么? 每次提交中的所有文件 【参考方案1】:你在正确的轨道上!您只需将命令应用于分支中的每个提交:
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
中。
【讨论】:
以上是关于如何从指定的 git 分支压缩所有更改的主要内容,如果未能解决你的问题,请参考以下文章