concretecms/incremental-filter-branch
用于以增量方式调用 git filter-branch 的 Shell 脚本
1.0.3
2023-11-29 18:09 UTC
This package is auto-updated.
Last update: 2024-08-29 19:43:37 UTC
README
简介
git filter-branch 是一个真正不错的 git 功能。例如,它允许像 subtree-splitting 这样的复杂操作。
当仓库中包含大量提交时,可能会出现问题:此操作可能需要很长时间。
幸运的是,git 的最新版本允许我们以增量方式执行此操作:第一次调用 filter-branch 仍然需要一些时间,但后续调用可以非常快。
要求
- git 2.16.0 或更高版本
- 常见命令(
sed、grep、md5sum、cut等)
用法
获取脚本并使用 --help 选项阅读语法。
示例
./bin/incremental-git-filterbranch \
--branch-whitelist 'develop master rx:release\/.*' \
--tag-blacklist 'rx:5\..*' \
--tags-plan all --tags-max-history-lookup 10 \
https://github.com/concrete5/concrete5.git \
'--prune-empty --subdirectory-filter concrete' \
git@github.com:concrete5/concrete5-core.git
法律事宜
自行承担风险。使用 MIT 许可证。
致谢
特别感谢 Ian Campbell 实现 git 的 --state-branch 选项,以及他关于如何使用它的提示。这个脚本只因为他(如果它不起作用,我将是唯一需要负责的人)。