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?