GitHub, Git, как отправить изменения в вышестоящий репозиторий - PullRequest
11 голосов
/ 04 февраля 2010

Мы уже давно используем Git внутри компании, и у нас в команде довольно хороший рабочий процесс.Вчера мы хотели представить исправления ошибок в проекте на GitHub.Это что-то новое для нас.Итак, вот что мы сделали:

  1. Клонировали их репозиторий
  2. Разветвленный апстрим
  3. Добавлен наш форк как удаленный
  4. Исправлены некоторые ошибки восновная ветвь
  5. Отодвинул мастер на нашу удаленную вилку
  6. Отправил запрос на извлечение
  7. Они вытянули изменения
  8. git fetch origin
  9. На мастере: git merge origin/master

Это правильный способ делать вещи?Мы получили дополнительное сообщение «Merge commit 'origin / master'», которое другие разработчики, похоже, не получили.Также в журнале мы можем дважды увидеть наши коммиты.

Кажется, все в порядке, но кажется, что это неправильно.Есть ли хорошие страницы рабочих процессов GitHub?Похоже, что на страницах справки Git отсутствует информация о том, как выполнять локальные изменения.

Я полагаю, что если бы мы откатили нашу основную ветку после отправки изменений в форк, у нас не возникло бы этой проблемы, но этотоже не чувствует себя хорошо.

1 Ответ

8 голосов
/ 04 февраля 2010

Это один из способов.
Я предпочитаю клонировать мое репозиторий GitHub (которое разветвляет проект GitHub "themRepo") вместо прямого клонирования существующего "itsRepo".

И я бы порекомендовал перебазировать вашу основную ветку поверх «их Repo» вместо слияния.
Я полагаю, что это позволит избежать двухкратного отображения вашего коммита в журнале и лишнего сообщения о коммите слияния.

  1. Форки их репо в myRepo
  2. клон myRepo
  3. Добавлен "itsRepo" в качестве удаленного
  4. Исправлены некоторые ошибки в основной ветке
  5. Протолкнул мастера на наш удаленный форк "myRepo"
  6. Отправлено запрос на извлечение
  7. Они вытащили изменения
  8. git fetch theirRepo
  9. На мастере: git rebase theirRepo/master

См. Также различные похожие стратегии, обсуждаемые (для другого случая, но которые могут дать вам некоторые идеи) в этом вопросе SO: Как мне воспроизвести мои коммиты локального репозитория git поверх проекта I разветвленный на github.com?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...