我们有一个基于git-flow的存储库,我们在开发分支上添加了一个外部库作为子树(使用Atlassian SourceTree' git子树)。
Project/
Library/
X/
Y/
Z/
后来我们做了一个git flow release
,将发展中的变化合并为主(发布)。
问题是当检出master时,Library的内容放在存储库的根目录而不是库中,就像它在合并期间丢失了git subtree
前缀一样。
Project/
X/
Y/
Z/
知道出了什么问题吗?
答案 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