2012-02-10 79 views
184

基本問題:如何從git倉庫克隆的來源中分離git倉庫?如何從git存儲庫中刪除原點

git branch -a顯示:

* master 
    remotes/origin/HEAD -> origin/master 

,我想刪除的所有原產知識,以及相關的修訂。

更長的問題:我想採取一個現有的顛覆回購,並從它做出一些較小的git回購。每個新的git回購應該只有相關分支的完整歷史。我可以修剪回購只是使用通緝子樹:

git filter-branch --subdirectory-filter path/to/subtree HEAD 

但由此產生的回購仍包含origin/master的分支下現已廢棄子樹的所有修訂。

我意識到我可以使用-T標誌來git-svn克隆顛覆回購的相關子樹在第一位。我不確定這是否會比後來在git repo的副本上運行多個實例git filter-branch --subdirectory-filter更有效,但是無論如何,我仍然希望打破與原點的鏈接。

回答

311

相當簡單:

git remote rm origin 

至於filter-branch問題 - 只需添加--prune-empty到過濾器的分支命令,它會刪除實際上並不包含在您造成回購任何更改任何修改:

git filter-branch --prune-empty --subdirectory-filter path/to/subtree HEAD 
+1

謝謝。這是我失蹤的「空靈」。 – awy 2012-02-10 09:02:34

+2

嗯。得到'錯誤:無法刪除配置節'remote.origin'' – 2016-08-18 22:28:10