Использование одного репозитория git для нескольких проектов git - PullRequest
9 голосов
/ 17 октября 2011

Я дешевый.Я не хочу платить за многие аккаунты на github.

У меня есть структура проекта, которая выглядит примерно так.

  • / repo является корнем проекта.
  • / repo / project1 , где у меня есть проект Java
  • / repo / herokurails1 , где у меня есть проект Ruby / Rails, который развертываетна heroku.com (в приложение heroku под названием hr1-fubar.heroku.com)
  • / repo / herokurails2 , где у меня есть еще один проект Ruby / Rails, который развертывается на heroku.com (к приложению heroku под названием hr2-fubar.heroku.com).

Все проекты (project1, herokurails1 и herokurails2 находятся в стадии активной разработки).

Я бы хотел иметь один репозиторий на каком-нибудь хостинге git, например на github.com или даже на локальном git-сервере в офисе.Всякий раз, когда код изменяется где-либо в / repo / , я хочу иметь возможность запускать " git push github master " и иметь все мое дерево / repo / , которое будет перемещено вверхна github.

Однако я также хотел бы иметь возможность развертывать мои приложения rails на heroku.com, не нажимая всего дерева репо / *, добавляемого в каждое приложение heroku.например,

  • / repo / herokurails1> git push heroku master только развернет проект herokurails1 на heroku, не нажимая никакой другой код в / repo / *
  • / repo / herokurails2> мастер git push heroku будет развертывать проект herokurails2 только на heroku, не добавляя другой код в / repo / *.

Возможно ли это?Нужно ли создавать что-то особенное, чтобы это произошло?Или я застрял в нескольких git-репозиториях?

Ответы [ 4 ]

4 голосов
/ 18 октября 2011

Это будет очень громоздко и очень быстро (особенно из-за того, что Git не позволит вам выдвигать подкаталоги по запросу, как это сделает svn)

Я бы посоветовал не использовать Github для хранения проектов.Такие инструменты, как Bitbucket или CodebaseHQ , имеют различные модели ценообразования, которые могут вам лучше подойти и предоставят вам простоту, в которой вы нуждаетесь.

Кроме того, посмотрите на что-то вроде Gitosis, которое можно сделать очень похожим на Github с помощью таких инструментов, как Gitlab

2 голосов
/ 18 октября 2011

Вы можете использовать git subtree локально для поддержки репозитория git, который отделен от вашего большего репозитория repo, и вытолкнуть его из этого разделенного репозитория. Честно говоря, я бы либо воспользовался одним из бесплатных сервисов, которые Адам Димитрук предлагает , либо просто заплатил бы немного больше GitHub - в конце концов, они действительно предоставляют отличный сервис ...

1 голос
/ 17 октября 2011

Если вы хотите, вы можете использовать unuddle или bitbucket, если вы не хотите ничего платить.Используйте субмодули для размещения больших файлов, таких как изображения, сторонние библиотеки, видео и т. Д. На github.Они не будут содержать IP.

0 голосов
/ 30 января 2016

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

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