Git Collaborative Development - PullRequest
       9

Git Collaborative Development

0 голосов
/ 07 апреля 2011

Я работаю над совместными проектами на github. Многие люди работают над этим, есть исходный источник и модифицированный источник, но так как модифицированный исходный код - это ветвь исходного источника, модифицированный, я не могу иметь как исходные, так и модифицированные источники в виде ветвления, поэтому я имею модифицированный как fork, и я хочу добавить origin как ветку. Help Please

Ответы [ 2 ]

3 голосов
/ 07 апреля 2011

Добро пожаловать в переполнение стека, Learath2.Боюсь, действительно сложно понять, что вы подразумеваете под своим вопросом, отчасти из-за отсутствия знаков препинания, а отчасти из-за (непреднамеренно) запутанной терминологии, которую вы используете.Тем не менее, я пойду и угадаю, что:

  • под «источником источника», вы имеете в виду «исходный репозиторий, размещенный на github»
  • под «измененным источником», выозначает «форк исходного репозитория, также размещенного на github»
  • когда вы говорите «у меня мододированный как форк», вы имеете в виду «я разветвлял второй репозиторий на GitHub»

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

git remote rename origin modded

Теперь давайте добавим еще одинудаленный для исходного хранилища, называя его origin.

git remote add origin git@github.com:original-repository-or-whatever.git

После этого вы можете получить все ветви из этого хранилища с помощью:

git fetch origin

Если вы хотите работать надкод из ветки master этого хранилища, вам нужно создать локальную ветвь на ее основе, что вы бы сделали с:

git branch --track original-master origin/master

Теперь вы можете переключаться между двумя локальными ветвями с помощью:

git checkout master
# (switch to the branch based on the master branch from "modded")

... и:

git checkout original-master
# (switch to the branch based the on master branch from "origin")

Надеюсь, это поможет.

1 голос
/ 07 апреля 2011
git remote add original git://github.com/foo/bar.git
git fetch original
git checkout -b original original/master

Что-то подобное? Это добавит исходный репозиторий github в качестве удаленного к локальному, а затем вы извлечете основную ветку удаленных компьютеров как ветку original.

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

...