Как создать новый репозиторий, который является клоном другого репозитория? - PullRequest
8 голосов
/ 17 мая 2011

У меня есть проект "MyfirstProject" в github. Сейчас я делаю другой проект «SecondProject», клонируя «MyfirstProject», поскольку основные коды будут такими же.

Всякий раз, когда я обновляюсь в "MYfirstProject", я просто запрашиваю обновления.

Теперь я хочу создать репозиторий для этого «SecondProject» в github, поскольку мне приходится работать на разных компьютерах, и он будет иметь разные коды из «MYfirstProject».

Я не думаю, что ветвление - правильная вещь, потому что я никогда не буду объединять их.

Как мне это сделать?

Нужно ли пушить в новый репозиторий? Не повлияет ли это на тяги из «MyfirstProject»?

Что ты делаешь?

Заранее спасибо.

Ответы [ 2 ]

19 голосов
/ 17 мая 2011

Вероятно, есть несколько способов сделать это, в том числе более умный, но вот как я бы это сделал:

  1. Сделайте новый репозиторий на Github с именем SecondProject.
  2. git remote set-url origin git@github.com:yourname/SecondProject.git
  3. Push it.

Обратите внимание, что клон сохраняет общий ресурсистория с MyfirstProject, что полезно, если вы передумали насчет бита "никогда не сливаться".

0 голосов
/ 17 мая 2011

Сейчас я делаю другой проект «ВторойПроект» путем клонирования «MyfirstProject», так как основные коды будут будь таким же.

Это зависит от того, что вы подразумеваете под «базовыми кодами». Если это библиотека общих структур данных, утилит и тому подобного, то все они должны содержаться в отдельном репозитории git, и вы не должны включать в этот репозиторий специфичный для приложения код, который опирается на эту библиотеку. Специфичный для приложения код должен находиться в отдельном новом репозитории (не клонирован из репозитория библиотеки). Свяжите свой код приложения с библиотечным кодом так же, как вы обычно связываетесь с любой сторонней библиотекой.

Если вместо этого вы имеете в виду, что у вас есть какое-то приложение, но вам нужны разные конфигурации, в зависимости от того, на какой машине вы работаете / компилируете, это следует отслеживать как ветви в одном и том же репозитории, а не как отдельный клон репозитория git. Создайте ветку «master», которая содержит конфигурацию вашего кода по умолчанию (например, наиболее часто используемую вами машину или рабочую машину). Конфигурации, специфичные для других ваших компьютеров, получают отдельную ветку, например ветку «ноутбук» для вашего ноутбука, «работу» для рабочего стола вашей рабочей станции, «облако» для вашего экземпляра Amazon EC2 и т. Д.

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