Git. Храните несколько проектов в одном репозитории

1

Представьте себе мобильное приложение, которое планируется реализовать как для iOS, так и для Android. Разработка была начата только с версии iOS, и теперь настало время начать с Android one. Код приложения iOS хранится в собственном репозитории Git, названном после имени приложения, например "MYApp". Теперь я хотел бы создать один общий репозиторий для приложений iOS и Android и называть его снова после имени приложения: "MYApp".

На первый взгляд это не проблема. Просто создайте репозиторий, создайте там 2 подпапки и начните работать.

Но. Я бы хотел, чтобы разработчик Android мог работать только со своей папкой и разработчиком iOS только с его помощью, и оба они могли видеть только свои собственные истории, связанные с историями (журнал).

Ранее я работал с SVN. Обычно я создавал вложенные папки, и вы могли проверять любой из них, чтобы работать только с этой подпапкой. История также была отфильтрована в вашем объеме.

Я застрял в реализации этого же при Git. Пожалуйста, помогите мне найти правильное направление.


Я подведу итог предлагаемым решениям.

  1. Используйте ветвление для разных платформ. Я не думаю, что это хорошая идея, потому что ветки использовались для другой цели. Мне кажется очень "гей".
  2. Используйте подмодули. Просто создайте столько репозиториев, на которых вы нацеливаетесь, назовите их "MYApp-iOS", "MyApp-Android" и т.д. И, наконец, получите "master" репо, которые могут быть именами как "MYApp" (без каких-либо суффиксов). Затем добавьте все связанные репозитории в "master" с функцией git subodules.
  3. Используйте git slave. Исследуя...

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

  • 0
    Вы можете попробовать с двумя ответвлениями, но это не очень хорошая идея. У вас есть действительно веская причина не использовать два отдельных репозитория?
  • 0
    Вопрос, который как бы связан с вашей проблемой: stackoverflow.com/q/466303/653513
Показать ещё 3 комментария
Теги:
svn
subfolder

1 ответ

1

Существует способ сохранить отдельные проекты в одном и том же репозитории git, используя разветвление git.

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

В конце: это вопрос мнения. Если вы готовы управлять более сложным репозиторием, просто сохраняйте оба кода в одном месте - вы можете.

Я бы определенно сделал два разных хранилища. Несколько мнений по этой теме можно найти также в разделе SO: Git с совершенно другим контентом

РЕДАКТИРОВАТЬ:

gitslave, похоже, решает вашу проблему. Возможно, вы захотите попробовать.

  • 0
    Спасибо! Я не буду использовать ветки, так как они реализованы для других целей. Я пытаюсь найти какой-то законный способ сохранить логически связанный код в том же месте. Я считаю, что код одного и того же приложения, предназначенного для разных платформ, логически достаточно близок, чтобы хранить его как подпапки одного и того же хранилища. Очень странно, что я не могу реализовать эту простую идею в git. Я нахожу GIT очень удобным и переехал из SVN без сожалений, но эта ситуация привела меня в замешательство.
  • 1
    Возможно, вы захотите взглянуть на gitslave . Я не знаком с этим, но он создает группу связанных хранилищ - хранилище суперпроектов и несколько подчиненных хранилищ .
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню