Как я могу разблокировать свой собственный репозиторий GitHub?

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

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

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

Мне хотелось бы сделать что-то вроде этого:

git clone <url> name
git add .
# make changes
git commit -m 'whatever'
git push

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

Любые идеи?

Ответ 1

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

Ответ 2

Вы поступаете правильно.

cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename origin markupDNA
  • Nav в папку, где хранятся ваши проекты.
  • клонировать базу markupDNA репо с пользовательским именем
  • переименуйте пульт дистанционного управления, чтобы, если вы хотите "начать" позже, вы можете

Ответ 3

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

Здесь соответствующие шаги:

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

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

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

Ответ 4

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

  • Создать организацию
  • Вилка для организации
  • Переименовать проект forked
  • Вернитесь в свою учетную запись

Ответ 5

Этот учебник дает простой и понятный ответ:

  • Создайте новый пустой репозиторий github fokedrepo
  • Клонировать его локально:

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

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

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

    git push origin master
    

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

Ответ 6

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

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

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

Ответ 7

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

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

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

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