Я пытаюсь перевести мой репозиторий cvs в git и застрял в этой последней проблеме некоторое время.CVS ampersand modules эквивалент в git
В настоящее время я использую модули CVS ampersand для совместного использования кода между проектами. Это позволяет вам в основном «псевдоним» другого репозитория в качестве подкаталога в вашем проекте, поэтому вы можете обновлять/фиксировать весь проект и включать удаленные репозитории, как если бы это был один репозиторий.
Я видел темы, которые рекомендуют поддерево слияния или подмодули для этого, ссылаясь на (svn: externals). Это не сработает, потому что:
сглаживание поддерева, по-видимому, не позволяет вам легко возвращать/обновлять внешние репозитории.
Подмодули по-прежнему требуют ручного нажатия/вытягивания каждого подмодуля. У меня есть большое количество подмодулей, и входить в каждый из них, чтобы подтолкнуть мои изменения, было бы утомительно и могло бы привести к упущениям, поскольку изменения забыли бы совершить.
Просто чтобы быть ясно, я хотел бы иметь репозиторий, который содержит другие репозитории Git, как подкаталоги, и быть в состоянии совершить/толчок/тянуть все из них в то же время с помощью одной команды.
Подмодули на пути к тому, чтобы стать немного ближе к тому, что вы хотите - 'git fetch' теперь является подмодулем, и я уверен, что больше придет. Однако фиксация в подмодулях немного дальше их намеченной цели. – Cascabel
Кажется, вы правы, подмодули - это то, что я ищу, но они еще не совсем там. Я удивлен, хотя, как я чувствовал, что этот рабочий процесс довольно распространен, и git существует уже некоторое время. – paulsc
@paulsc: Я думаю, что что-то немного другое более распространено: работать над подпроектом независимо от суперпроекта, а затем обновлять суперпроект до более новой версии подпроекта. – Cascabel