有从历史上提出的措施,但对于我的情况来说还不够具体。但是,我的问题的主要要点是保存已经完成和冲突的问题根本没有解决。
git rebase -i
不够:合并以及如何处理它们应保留非线性历史。
尽管我的问题与单个文件密切相关,但我想清洁提交,git-filter-repo
与
git rm --cached
rebase
配对太简单了,而不是需要的,因为git历史并非微不足道.
涉及的单个文件应该只能使过程easier,但并不使其变得琐碎。
有关该问题的更多详细信息:
我们想从我们的git历史记录中删除几个提交,就好像从未做过一样(我们不仅要清洁文件,而且想清洁文件)。先决条件:
有用的部分:删除的提交是独立文件,此后从未触摸过。我们想保留GIT历史,保持合并以及如何处理非线性历史。 我们发现的最好的事情是
reset
并做一个标签 - 室内,然后删除/删除我们不想要的提交。
迫使我们能够处理过去再次解决的所有合并冲突。如何避免这种情况,即,如果没有提交我们要删除的存储库,我们如何制作副本?
git rebase -i master --rebase-merges
,然后删除要删除的文件的提交。...然后,当重新启动开始时,假设您要做的只是git rm --cached the-list-of-doomed-files
至少应该在纸上工作。