如何在不使用交互模式的情况下删除 git 提交?

问题描述 投票:0回答:1
我想编写一个脚本,从很长的 git 历史记录中删除某些提交,但我找到的所有指南和答案都是通过“git rebase -i”将“pick”更改为“drop”来实现的。

具体来说,我正在写一些东西来下载问题,以便您可以在项目的代码库中编辑它们并上传结果,但现在希望将“问题”填充到一个单独的项目中,而不是弄乱其他项目的 git 历史记录。与问题相关的所有提交都会修改“issues/”中的文件,并且不会同时修改 issues/* 和主代码树。

相当于从历史记录中删除提交的可编写脚本的命令行是什么?

git
1个回答
0
投票
您可能想要

git filter-repo


具体

git filter-repo --path issues/
仅保持提交接触

issues/*

,并且

git filter-repo --invert-paths --path issues/
保留其他一切。

© www.soinside.com 2019 - 2024. All rights reserved.