我有一個分支,我想進入一個單獨的Git存儲庫,並理想地保留該分支的歷史過程。到目前爲止,我一直在尋找git filter-branch
,但我無法確定它是否可以做我想做的事。如何將Git分支移出到其自己的存儲庫中?
如何將Git分支提取到其自己的存儲庫中?
我有一個分支,我想進入一個單獨的Git存儲庫,並理想地保留該分支的歷史過程。到目前爲止,我一直在尋找git filter-branch
,但我無法確定它是否可以做我想做的事。如何將Git分支移出到其自己的存儲庫中?
如何將Git分支提取到其自己的存儲庫中?
您可以簡單地將分支推送到新的存儲庫。它的所有歷史都會隨之而來。然後,您可以選擇是否從原始存儲庫中刪除分支。
例如
git push url://to/new/repository.git branch-to-move:new-branch-name
對於新的存儲庫,new-branch-name通常是master。
使用git init
可以創建一個新的空存儲庫。
這將讓所有的分支的歷史,但讓你的副本指向一個分支,特別是:
git clone -b newbranch CurrentRepo NewRepo
這不「搬家」什麼,只是做一個副本。
值得注意的是'clone -b'是新的。它需要git> = 1.6.5(2009年10月發佈)。 – 2010-02-09 07:56:29
我很難讓這個工作,但那是在我看到Charles Bailey的消息之前。 – Aupajo 2010-02-10 08:27:55
爲了防止任何人想知道,我用URL替換了Git倉庫目錄的路徑,並且完美地工作。 – Aupajo 2010-02-10 08:32:31
您也可以在新的存儲庫中命名分支名稱: 'git push url://to/new/repository.git分支移動:新分支名稱' – 2013-10-28 10:00:21
Yves上面的註釋是正確的,否則你將沒有主人在那裏,克隆過程將結束'警告:遠程HEAD指的是不存在的裁判,無法簽出.'。如果已經在那個階段,只需要用'git checkout -b分支移動'去安全,或者你只需要使用'git checkout -b master'來讓你的主分支:) – 2014-09-12 08:29:18