存储库根目录下的git子树合并(使用.git-flow)

时间:2014-12-02 17:09:38

标签: git git-flow git-subtree

我们有一个基于git-flow的存储库,我们在开发分支上添加了一个外部库作为子树(使用Atlassian SourceTree' git子树)。

Project/
  Library/
    X/
    Y/
    Z/

后来我们做了一个git flow release,将发展中的变化合并为主(发布)。

问题是当检出master时,Library的内容放在存储库的根目录而不是库中,就像它在合并期间丢失了git subtree前缀一样。

Project/
  X/
  Y/
  Z/

知道出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

子树本身在其自己的分支上有自己的根目录。请参阅http://git-scm.com/book/en/v1/Git-Tools-Subtree-Merging,尤其是:

  

您希望将Rack项目作为一个项目拉入主项目   子目录。你可以使用git read-tree在Git中做到这一点。你会学到的   更多关于第9章中的read-tree及其朋友,但现在知道了   它将一个分支的根树读入当前的分段   区域和工作目录。你刚刚切换回你的主人   分支,并将机架分支拉入机架子目录   您主要项目的主分支:

     

$ git read-tree --prefix = rack / -u rack_branch