2011-12-18 3 views
1

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

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

get fetch upstream 
git merge upstream/master 

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

git push –u origin 

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

Я попытался

git push –u upstream 

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

Вы не можете нажать на мерзавец: //github.com.octocat/SpoonKnife.git использования [email protected]/Spoon0-Knife.git

+3

С количеством вопросов, которые вы уже разместили, пожалуйста, по крайней мере, дайте _try_ при правильном форматировании и убедитесь, что примеры кода/командной строки по крайней мере имеют правильный синтаксис/орфографию. Это отсюда. – Mat

+0

Ну, если у вас нет доступа на запись в репозиторий клиента, вы не можете нажать на него изменения. –

ответ

3

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

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

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

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

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

Если вы предпочитаете название происхождения заменить вверх с началом, но по-прежнему следовать шаг 1, чтобы удалить ссылку на Ложка-Knife.git. Затем на этапе 2 - git remote add origin [email protected].

0

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

Смежные вопросы