Как я могу разблокировать свой собственный репозиторий 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. Но все ваши ветки, история и т.д. Будут там.