2012-12-17 48 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

相關問題