Git Subtree. Почему я не могу переходить из поддерева, а не из корня?

Я изо всех сил пытаюсь понять смысл использования стратегии поддерева Git. Моя цель состояла в том, чтобы собрать несколько разрозненных репо в маленькое семейство репозиториев под зонтичным репо. Я использую стратегию поддерева, подробно описанную здесь: http://help.github.com/subtree-merge

Я пытаюсь убедить Git, что я хочу создать ветку из одного из этих поддеревьев, а НЕ из корня. Когда я перехожу в поддерево, создаю ветвь, а затем возвращаюсь к корню, запуск ветки git из корня ясно указывает на то, что ветка была создана в корне. Вздох.

Я люблю git/github, но сводить с ума это обычное задание, чтобы работать должным образом.

Может ли кто-нибудь, пожалуйста, просветить меня?

2 ответа

Решение

git работает только на "целом" уровне дерева, поэтому, где бы вы ни работали, вы работаете в дереве branch, checkout <branch>, commit все работают на корневом уровне.

Стратегия слияния поддерева - это стратегия слияния, которая помогает, когда у вас есть хранилище, в котором одна ветвь перемещает поддерево файлов в другое место в хранилище, а другая сторона вносит изменения в эти файлы в исходных местоположениях. Он разработан, чтобы помочь объединить эти две операции таким образом, чтобы обычная стратегия слияния вызвала бы больше конфликтов или оставила файлы в неправильном месте.

Стратегия слияния поддеревьев не имеет отношения к тому, как работает git-операция "целое дерево", поэтому, если вы хотите создать ветку, которая является всего лишь одним поддеревом хранилища, вам нужно выполнить ветвление, а затем сделать новый коммит с удаленными другими поддеревьями. и дерево интереса переместилось на корневой уровень.

Однако, учитывая ваш шаблон использования, я бы порекомендовал вам долго читать субмодули. Это может обеспечить функциональность, которая соответствует тому, что вы пытаетесь достичь.

Я рекомендую git-поддерево apenwarr: http://github.com/apenwarr/git-subtree. Надеюсь, в какой-то момент он добавится к самому git.

Другие вопросы по тегам