在我当地的git repo上,我有很多提交,其中包括"秘密"连接字符串:-)
当我把它推到那里时,我不希望这个历史记录在github上.
基本上我想推动我拥有的一切,但想要摆脱大量的历史.
也许我会更好地在我的所有开发人员的分支中运行,然后在提交之前合并回到master ...那么master的历史将只是我想要的提交.
我试过运行rebase:
git rebase –i HEAD~3
返回3次提交,然后我可以删除提交.
然而遇到汽车樱桃挑选失败,它变得相当复杂.
任何想法都非常感激...历史可以没什么大不了的,如果这太难了就重新开始:-)
你可以分支你当前的工作,回顾主人,然后挑选最新的提交回主人:
git branch secret git reset --hard HEAD~3 git cherry-pick secret
在图片中,
A--B--C--D--E (master)
之后git branch secret
:
A--B--C--D--E (master, secret)
之后git reset --hard HEAD~3
:
A--B (master) \ C--D--E (secret)
之后git cherry-pick secret
:
A--B--E' (master) \ C--D--E (secret)
最后,如果你git checkout secret; git rebase master
,你可以得到:
A--B--E' (master) \ C--D (secret)