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
选项,以及他关于如何使用它的提示。这个脚本只因为他(如果它不起作用,我将是唯一需要负责的人)。