2016-11-17 57 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 –

相关问题