2016-11-17 43 views
0

我的情景:合併現有的Git倉庫到自制的文件夾中其他現有的倉庫內

我有兩個現有的Git回購:

Project-A 
Project-B 

我已經通過subtree-合併項目-A到Project-B合併沒有問題。這裏大多是跟隨第3個答案:

How do you merge two Git repositories?

但我需要項目-A合併爲一,項目-B中所做的文件夾。不在Project-B本身。我不斷收到這個樣子的:

Project-B 
    - Components - self made folder via git add component/README 
    - Project-A 

我所需要的結構是這樣的:

Project-B 
    - Components - self made folder via git add component/README 
     - Project-A 

我已經從Components文件夾中的合併項目-A,所以我不知道爲什麼,當我推動我繼續讓組件之外的項目-A?另外,當我合併項目A.我想同時合併所有分支,我一直在嘗試「混合合併項目-A」,但我收到一條消息說Git不能這樣做。所以我必須做一些類似「git merge Project-A/master」的東西。但是Project-A中有20個不同的分支,我需要將其推入組件文件夾。可能同時合併所有分支?

感謝

回答

1

您可以使用git subtree add --prefix=Components/Project-A <Project-A’s address> branchname實現第二結構,你在上面顯示。

你也可以使用git subtree push --prefix= Components/Project-A <Project-A’s address> branchname/ Components/Project-A目錄更改推到遠程項目-A

原因,你不能使用git merge Project-Agit merge Project-A/master成功。因爲組件/項目中存在事物--A不是作爲分支,而是作爲項目B中的子項目(您可以使用git branch來顯示存在的分支,您會發現這些分支只屬於項目B)。由於Project-A不是分支,所以不能合併任何有關Project-A的內容。

+0

我可以通過以下方式將Project-A/master推入項目B:git merge -s我們的--no-commit Project-A/master但沒有辦法訪問併合並所有分支機構一次。就像:git merge -s我們的 - 沒有提交項目-A /所有分支..? – bschmitty

+1

@bschmitty,我猜你使用過'git remote add Project-A '添加一個遠程。只有通過這種方式,你可以使用關於Project-A的git合併。不可能一次合併所有分支,就像合併的概念一樣,它一次隻影響兩個分支。希望它可以幫助你:) –

+0

@bschmitty,你好,你有你想要的?如果是的話,你能把它標記爲答案,因爲它會幫助誰有類似的問題? BWT,沒有必要將Project-A和Project-B合併,因爲您已經在步驟1中在Project-B中添加了Project-A的內容,只是提交給了Project-B,它將包含有關Project-A –