Создание нового проекта из скелета проекта с помощью git - PullRequest
6 голосов
/ 24 апреля 2010

Чтобы ускорить и запустить новый проект django, я бы хотел иметь отдельный «скелет проекта», на котором я основываю все свои новые проекты. Было бы замечательно, если бы, улучшив каркас, я смог внести эти улучшения в свои активные проекты. Как я могу сделать это с помощью git?

Итак, может быть, в моей машине с удаленным git-репозиторием у меня будет 1 репо для каждого проекта и одно для скелета?

  • проектируемый-A-репо
  • проектируемый-B-репо
  • каркасно-репо

Если я хочу создать новый proj-C локально на основе скелета, а затем передать свои локальные изменения на удаленный сервер в новом репо с именем proj-C-repo, как я могу это сделать?

Я прочитал довольно много документации по git, но я не уверен, как это сделать. Нужно ли клонировать скелет или создать пустой репо, а затем отслеживать удаленную ветку или что-то еще?

Ответы [ 3 ]

10 голосов
/ 24 апреля 2010

Это именно то, в чем хорош git (или любой DVCS). Дайте скелету собственный репо; чтобы создать новый проект, вы, как правило, clone скелет на своей рабочей станции, отрабатываете, затем push в другое место (например, myserver: repo-C). Если позже вы улучшите скелет и внесете в него изменения, вы можете преобразовать их в существующий проект с помощью git pull myserver:skeleton, а затем объединить.

0 голосов
/ 24 апреля 2010

Вы можете найти хороший пример скелета проекта с помощью этого шаблона консоли sbt

Если вы клонируете его и запустите sbt , вы получите полностью функциональный Scala проект:

  • , который можно скомпилировать, выполнить, проверить и даже затмить (импортировать как проект затмения)!.
  • который может храниться в собственном репозитории Git с уже настроенным .gitignore.
0 голосов
/ 24 апреля 2010

Вы можете сделать следующее:

Создайте репозиторий Git, который является вашим скелетом, и добавьте материал, находящийся в репозитории A и B, в свой .gitignore. Затем запустите новые git-репозитории в местах A и B и нажмите туда.

Таким образом, вы получите:

skeleton
 +---> .git
 +---> project A
     +-----> .git
 +---> project B
     +-----> .git

Я только что попробовал это, и это работало с git-репо внутри git-репо, пока вы добавляете субрепо в .gitignore ..

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