Как перенести изменения из разветвленного проекта в исходный проект? - PullRequest
1 голос
/ 18 декабря 2011

Я должен работать над проектом моего клиента на GitHub, где изменения будут в его хранилище. Я пытался следовать примеру с форком, но смог получить изменения только в моем аккаунте?

В примере на GitHub для разветвления репозитория они создают пульт дистанционного управления с именем upstream, указывающий на исходный проект. Я могу получить изменения от него по

get fetch upstream
git merge upstream/master

Я смог загрузить изменения в репозиторий

git push –u  origin

, который скопировал мои изменения в мою учетную запись.

Я пытался

git push –u upstream

Чтобы перенести мои изменения в исходную учетную запись. Я получил следующую ошибку

Вы не можете нажать на git: //github.com.octocat/SpoonKnife.git используйте git@github.comoctocat/Spoon0-Knife.git

Ответы [ 2 ]

3 голосов
/ 18 декабря 2011

По сути, для сотрудничества с вашим клиентом у вас есть два основных варианта:

  • Отправьте вашему клиенту pull request (подробнее об этом в этом Справочный пункт GitHub ).Это позволяет вашему клиенту просматривать, обсуждать и / или запрашивать некоторые изменения в вашем предложении, прежде чем объединять его.
  • Запрос от вашего клиента, который будет добавлен как committer в его проект.Это позволит вам напрямую выдвигать ваши коммиты в их репозиторий, без необходимости использования форка / клонированного репозитория на вашей стороне.

Как примечание стороны, Spoon-Knife.git является одним из репозиториев GitHub только для чтения (используется в демонстрационных целях), и вы не сможете выполнить это (если ваш клиент не является GitHub).Таким образом, ваш клиент upstream git remote должен указывать на другой репозиторий

Вот шаги (которые необходимо выполнить после того, как вы разветвили и клонировали репозиторий на локальный диск):

  1. Удалите исходную ссылку: git remote rm upstream
  2. Добавьте информацию о своем клиенте - git remote add upstream git@xxxxxx
  3. Нажмите ваши изменения - git push -u upstream master.git push -u установит заголовок удаленного репозитория.
  4. То же самое, если вы хотите вытащить - git pull upstream master

Если вы предпочитаете имя источника, замените восходящий поток источником, но все жевыполните шаг 1, чтобы удалить ссылку на Spoon-Knife.git.Затем на шаге 2 - git remote add origin git@xxxx.

0 голосов
/ 18 декабря 2011

git: //github.com.octocat/SpoonKnife.git является URL-адресом только для чтения.Как предлагает GitHub, соответствующий URL-адрес для записи - git@github.comoctocat/Spoon0-Knife.git.Если вы хотите иметь возможность использовать репозиторий upstream, вам нужно будет попросить (в группу upstream, т.е. вашего клиента) добавить его в качестве коммиттера.

...