我正在研究一个我分叉的存储库,其中作者采用了脏路径,并在初始提交中将所有依赖项填充到lib /目录中.通常,如果它不是初始提交,我只会做一个交互式rebase并删除整个提交(如果这就是他所做的全部).但是,我不知道如何编辑/删除初始提交.有没有办法可以编辑初始提交并删除lib目录而不触及其余部分?
编辑
我在这里偶然发现了答案:我可以从Git仓库中删除最初的提交吗?在选定的答案中.这就是我没有更彻底地搜索的结果.
$ git filter-branch --parent-filter \
'test $GIT_COMMIT = SECOND && echo "" || cat' \
--tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)
其中SECOND是您想要成为新根的提交的 SHA-1。
上面假设所有分支使用相同的第一次和第二次提交。如果没有,您需要在父过滤器中概括测试。
请注意,这是一个严厉的措施:它将重写您的整个历史记录并阻止您关注作者的存储库。此外,如果您已将存储库推送到遥控器,则需要使用git push -f.