Git: использовать удаленное поддерево в разных местах - PullRequest
1 голос
/ 13 декабря 2010

У нас есть один большой проектB, и мы хотим использовать его в разных местах в другом проекте. Например,

git remote add -f Bproject /path/to/B
git merge -s ours --no-commit Bproject/master
git read-tree --prefix=dir-BA/ -u Bproject/master:subdirA
git read-tree --prefix=dir-BB/ -u Bprorect/master:subdirB
git commit -m "Merge B project as our subdirectory"

Работает хорошо. Затем мы обновляем subdirA и subdirB проекта B и пытаемся использовать стратегию слияния поддеревьев:

git pull -s subtree Bproject master

Это не то, что мы ожидаем от этого. Может быть кто-нибудь знает, как мы можем использовать разные части projectB в другом проекте?

1 Ответ

1 голос
/ 08 февраля 2011

Звучит так, как будто вы хотите использовать git-submodule, который позволяет вам извлекать содержимое другого репо в качестве подкаталога рабочей копии вашего репо. Вот несколько хороших ресурсов для использования git-submodule:

Чтобы было ясно, содержимое и история репозиториев остается отличной, но этот тип сшивания рабочей копии, как правило, является тем, чего хотят люди. Также обратите внимание, что ссылки на подмодули указывают на конкретные версии (аналогично svn externals, если вы знакомы с ними), что означает, что они не изменятся, если вы не намеренно обновите их явно.

Дайте мне знать, если я неправильно понял, что вы пытаетесь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...