Git поддерево объединено в корневом каталоге репозитория (w. git -flow)

У нас есть репозиторий, основанный на git -flow, где мы добавили внешнюю библиотеку в виде поддерева (с использованием поддерева Atlassian SourceTree git) в ветке разработки.

Project/
  Library/
    X/
    Y/
    Z/

Позже мы сделали git flow release, объединив изменения от разработки в master (release).

Проблема заключается в том, что при проверке мастера содержимое Библиотеки помещается в корневой каталог репозитория, а не внутри библиотеки, например, когда он потерял префикс git subtree во время слияния.

Project/
  X/
  Y/
  Z/

Любая идея, что пошло не так?

Ответы

Ответ 1

В самом поддереве есть свой собственный корневой каталог в своей ветки. См. http://git-scm.com/book/en/v1/Git-Tools-Subtree-Merging, особенно:

Вы хотите вытащить проект Rack в свой мастер-проект как подкаталог. Вы можете сделать это в Git с Git read-tree. Вы узнаете больше о read-tree и его друзьях в главе 9, но на данный момент знаете что он считывает корневое дерево одной ветки в вашу текущую постановку области и рабочего каталога. Вы только что вернулись к своему хозяину ветки, и вы потянете ветку стойки в подставку стойки ваша главная ветвь вашего основного проекта:

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