例如,我想使用gitpython重写我的一个仓库以编程方式的历史记录。想法是读取现有的存储库,并在进行一些修改后将其所有提交重新应用于新的存储库:
使用gitpython,我可以读取提交历史记录树和所有相关信息,但是我还没有找到在新的存储库中提交内容的方法,当必须从另一个存储库中复制信息时,再也没有成功。
是否可以通过编程方式执行此操作?我想必须有一种方法,因为它可以或多或少地手工完成,一次提交即可。
非常感谢!
您可以获取灵感(或直接使用)newren/git-filter-repo
,它是:
newren/git-filter-repo
。replaces BFG or git filter-branch
可以处理拆分存储库,但不必在同一步骤中为子模块存储库添加树SHA1作为gitlink。尽管如此,它仍可以扩展以执行您需要的操作。