2016-06-13 97 views
1

我分叉了一個起源git倉庫(repo1),它有很多模塊(比方說A,B,C),並對我的fork中的一個模塊(讓我們假設在A中)做了一些更改(MYNAME/repo1)。到那時,我計劃將我的更改從fork轉移到原始repo(repo1),原始repo被重構,並且每個模塊都是git repo(repoA,repoB,repoC)。我現在分叉了repoA,並想先從前一個fork(myname/repo1 - moduleA)合併到這個(myname/repoA)。我怎樣才能做到這一點 ?git從一個叉合併到另一個

回答

1

有很多方法可以解決這個問題。由於提交ID和文件位置已更改,因此無法合併。可能最簡單的是將您的更改重新綁定到新的存儲庫,然後合併。由於文件名已移動,因此您也必須應用相同的更改。

第一步是引入新的存儲庫作爲遠程。 git remote add repoA url-to-repo-agit fetch repoA

然後,您需要應用與創建repoA到分支相同的文件名更改。這可以通過使用--subdirectory-filtergit filter-branch完成。檢查出你的分支後,運行如git filter-branch --subdirectory-filter moduleA/ master..HEAD。這將使目錄moduleA/的內容進入新的根目錄。 master..HEAD將限制該更改僅限於您的分支。爲了安全起見,您可以在運行過濾器之前標記當前分支,以便在過濾器出錯的情況下更輕鬆地恢復時間。

你現在應該可以正常合併了。

相關問題