2012-12-17 46 views
2

我最近通过替换具有冲突许可协议的代码段来将商业许可代码转换为BSD许可证。我在一个私人bitbucket git仓库中完成了所有这些。现在我准备在github公共git存储库中将它发布给公众。所以,我需要通过忘记早期版本库历史记录(包含专有代码)来创建新的版本库。换句话说,我有创建新的git存储库从现有存储库中的指定提交开始

M1 - M2 - ... - Mgood - Mgood+1 - ... - Mtip 
            \ B1 - B2 - ... - Btip 

什么,我希望在新的回购协议是:

Mgood - Mgood+1 - ... - Mtip     
        \ B1 - B2 - ... - Btip 

与资源库的历史(的意见,修改等)之前Mgood完全忘记。对于git来说相当新,这听起来很简单,但我还没有想出最干净的方法来做到这一点。

回答

0

,你可以做到这一点使用git rebase -i

你只需要壁球的年轻人提交到一个:

s M1 
s M2 
p Mgood+1 
p Mtip 

所以在这里你标记M1M2是南瓜(s标志)和你保持所有其他提交(c标志)

但是,如果你有一个非常大的历史,这可能是很多手动工作。

+0

这是一个小到中等的历史,意味着数百(而不是数千)的提交。我会试试这个。感谢你的及时回复。 – user1911392

相关问题