2013-08-01 3 views
-1

Я в ситуации, когда я разрабатываю два проекта одновременно, где второй проект используется первым проектом, но предназначен для повторного использования другими проектами. По этой причине я держу их в двух отдельных репозиториях. Я могу предвидеть, что это принесет огромные головные боли где-то вниз по линии. Мое беспокойство заключается в том, что я сделаю много коммитов для параллельного проекта 1 и 2, а затем вынужден вернуться к более раннему фиксации в проекте 1, только чтобы найти, что мне нужно также вернуть проект 2, чтобы даже скомпилировать проект 1. Отслеживание этих По этой причине два проекта в отдельных репозиториях являются менее идеальными, но я не думаю, что я должен отслеживать проект 2 в репо проекта 1. Что является лучшим решением для этого?Контроль источника при использовании библиотек разработки

Using source controlled libraries in source controlled projects

Данный вопрос предполагает использование ртутных subrepos. Это звучит как хорошая идея (в том, что это сработает, но предостерегает от меркуриального). К сожалению, я использую git, и я не знаю никаких эквивалентов.

ответ

1

Ближайшая итерация к subrepos Mercurial в Git - Git submodules, у которой есть свои проблемы и краевые углы (но в любом случае основное репо и модуль имеют жесткую привязку в каждом наборе изменений, таким образом, вы всегда можете восстановить весь репозиторий в точное состояние как это было раньше) и Git subtree может быть considered, как хорошая альтернатива с улучшенной (но идентичного в общем смысле) функциональность

хороший блог-пост об использовании Git поддерево из Pardus: Modular git with "git subtree"

+0

поддеревья выглядят довольно полезными. Я попробую и посмотрю, как это происходит. Я буду держать вопрос открытым еще немного, чтобы узнать, есть ли какие-либо другие предложения, но похоже, что это лучший метод. –

+0

У меня появилась возможность реализовать его сегодня, и, похоже, он работает довольно гладко. Может быть, просто потому, что поддеревья новы, но там, похоже, не так много документации с ясными примерами. Я получил его работу в моем случае, но может быть полезно связать несколько простых руководств в вашем ответе для будущих читателей. –

Смежные вопросы