Как я могу раскошелиться на свой собственный репозиторий GitHub? - PullRequest
29 голосов
/ 22 сентября 2010

Итак, новичок в Git.Читал руководства и думаю, что у меня есть основы, но у меня трудности с достижением этой единственной цели.

У меня есть репозиторий, созданный для моего исходного исходного кода разметки.Просто вещи, которые я использую для каждого прорыва.Он называется markupDNA.git

Я хотел бы иметь разные каталоги на моих сайтах Mac dir ~/Sites/project-N.Где я основываюсь на общих вещах и делаю прорыв сайта.Я бы хотел, чтобы они были привязаны к моему основному репозиторию git в качестве вилок, но вы не можете разветвить свое собственное репо?не хочу, чтобы это подтолкнуло к происхождению.Я хочу, чтобы это подтолкнуло к форку репо markupDNA, откуда он был клонирован.Но похоже, что это просто подталкивает мои изменения прямо к мастеру происхождения.Идея состоит в том, чтобы сохранить markupDNA в чистоте и просто иметь много вилок для моих разных проектов, каждый из которых будет иметь свой собственный клонированный каталог на моем жестком диске.

Есть идеи?

Ответы [ 7 ]

23 голосов
/ 22 сентября 2010

Вы делаете правильные вещи.

cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename origin markupDNA
  • Перейдите в папку, где вы храните ваши проекты
  • клонируйте вашу базу markupDNA репо с пользовательским именем
  • переименуйте пульт ДУ, чтобы, если вы захотите позднее «источник», вы могли
19 голосов
/ 22 сентября 2010

Вероятно, будет гораздо проще использовать ветки , чем использовать отдельные вилки.У вас все еще могут быть отдельные проверки для каждой ветви;просто клонируйте свое репо несколько раз и используйте git checkout в каждом, чтобы переключить его на соответствующую ветку (или git checkout -b, чтобы создать ветку и проверить все сразу).После того, как вы создали ветви, вы можете отправить их на GitHub, используя git push origin <branchname>.

9 голосов
/ 11 января 2015

Этот урок дает простой и прямой ответ:

  1. Создать новый пустой github forkedrepo репозиторий
  2. Клонируйте его локально:

    git clone https://github.com/YOURUSERNAME/forkedrepo.git
    
  3. Добавить исходный репозиторий github как удаленный из нового локального репозитория:

    git remote add upstream https://github.com/YOURUSERNAME/originalrepo.git
    
  4. Разверните копию исходного репозитория github в ваш новый локальный репозиторий:

    git pull upstream master
    
  5. Перенесите файлы из вашего нового локального репозитория в новый репозиторий github:

    git push origin master
    

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

9 голосов
/ 22 июня 2014

Удивлен, что никто не ссылался на блог этого парня .

Вот соответствующие шаги:

$ git clone git@github.com:YOURNAME/foo.git bar
$ cd bar
$ vim .git/config
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com:YOURNAME/bar.git #replace foo with bar
$ git remote add upstream git@github.com:YOURNAME/foo.git
$ git push -u origin master

Вместо редактирования конфига я обычно использую комбинацию git remote remove и git remote add.

Вы также можете использовать git remote rename, а затем git remote add, если хотите сохранить источник в верхнем течении.

9 голосов
/ 26 января 2012

, чтобы сделать настоящий GitHub форк из собственного репозитория, вы можете использовать следующие шаги:

  1. Создать организацию
  2. Форк организации
  3. Переименование разветвленного проекта
  4. Вернитесь в свой аккаунт
1 голос
/ 22 сентября 2010

Конечно, вы можете клонировать из клона. В git нет концепции основного репо. Люди часто назначают основной репо, но это условно, а не по технической причине.

Таким образом, вы можете делать все точно так, как вы описываете, и даже больше.

Например, имеет смысл сохранить ветку на ваших сайтах обсуждения с идеями для дополнений или модификаций в ваших общих материалах. Вы можете подтянуть их к своему общему репо и снова распространять оттуда.

0 голосов
/ 26 июня 2015

Вы также можете использовать инструмент импорта Github .

(он предназначен для импорта из SVN и т. Д., Но вы можете использовать его и для этого)

  • Создать новый репозиторий в Github. ВАЖНО : не "инициализировать с помощью README"
  • На следующем экране нажмите «Код импорта»
  • Вставьте URL-адрес в репозиторий Github, который вы хотите импортировать. ( Скриншот )

Опять же, это создает новый репозиторий, а не настоящий форк на Github. Но все ваши ветви, история и т. Д. Будут там.

...