Github, git, как отправить изменения в репозиторий upstream

Мы используем GIT внутри себя уже довольно давно и хорошо работаем в нашей команде. Вчера мы хотели представить некоторые исправления ошибок для проекта в Github. Это что-то новое для нас. Так вот что мы сделали:

  • Клонирование их репо
  • Спрятал вверх по течению
  • Добавлена ​​наша вилка как удаленная
  • Исправлены некоторые ошибки в основной ветке
  • Выдвинутый мастер на удаленную вилку
  • Отправлено запрос на перенос
  • Они вытащили изменения
  • git fetch origin
  • На главном: GIT слияние оригинала/мастера

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

Кажется, все в порядке, но это просто неправильно. Кто-нибудь знает какие-либо хорошие рабочие страницы github. Страницы справки GIT, похоже, пропустят, как сделать часть локальных изменений.

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

Любая помощь будет очень признательна!

Ответ 1

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

И я бы рекомендовал переустановить вашу основную ветку поверх "theirRepo" вместо слияния.
Я полагаю, что это позволит избежать просмотра вашей фиксации дважды в журнале и избежать дополнительного сообщения об объединении.

  • Форк ихRepo в myRepo
  • clone myRepo
  • Добавлен "theirRepo" как удаленный
  • Исправлены некоторые ошибки в основной ветке
  • Оттолкнутый мастер на удаленную вилку "myRepo"
  • Отправлено запрос на перенос
  • Они вытащили изменения
  • git fetch theirRepo
  • На главном: git rebase theirRepo/master

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