我想编写一个脚本,从较长的 git 历史记录中删除某些提交,但我发现的所有指南和答案都是使用“git rebase -i”将“pick”改为“drop”。
具体来说,我正在编写一些东西来下载问题,以便您可以在项目的代码库中编辑它们并上传结果,但现在想将“问题”内容作为一个单独的项目,而不是弄乱其他项目的 git 历史记录。与问题相关的所有提交都会修改“issues/”中的文件,并且没有一个会同时修改 issues/* 和主代码树。
与从历史记录中删除提交等效的可编写脚本的命令行是什么?
我想编写一个脚本,从较长的 git 历史记录中删除某些提交,但我发现的所有指南和答案都是使用“git rebase -i”将“pick”改为“drop”。
具体来说,我正在编写一些东西来下载问题,以便您可以在项目的代码库中编辑它们并上传结果,但现在想将“问题”内容作为一个单独的项目,而不是弄乱其他项目的 git 历史记录。与问题相关的所有提交都会修改“issues/”中的文件,并且没有一个会同时修改 issues/* 和主代码树。
与从历史记录中删除提交等效的可编写脚本的命令行是什么?
你可能想要
git filter-repo
。具体来说
只保留接触的提交
issues/*
,并且保留其他所有东西。