Как слить обратно в удаленную ветку
У меня есть эти 2 ветки в моем удаленном хранилище GitHub:
Как объединить разработку в master в удаленном репозитории? Я пробовал
git merge development
и
git merge origin
но он говорит, что репо обновлено, поэтому я делаю это неправильно, потому что github говорит, что разработка 12 коммитов впереди мастера.
Обновление
Спасибо за последующие действия - вот еще информация, я нажал на удаленный репозиторий с помощью
git push origin
и мои изменения были совершены. Если я делаю клон в другой папке, я вижу все изменения там, если я проверяю ветку разработки.
git branch -av
development 8265e30 - etc
hotfix-t4 8342e44 - etc
*master 0041bod - Initial Commit
remotes/origin/HEAD -> origin/master
remotes/origin/development 8265e30 - etc
remotes/origin/experimental 22cd3ef test1
remotes/origin/hotfix-t4 8342e44 test
remotes/origin/master 0041bod Initial commit
Ответы
Ответ 1
Поведение git push
или git push origin
(т.е. когда вы также не указываете refspec в качестве последнего параметра) является довольно неожиданным - по умолчанию он нажимает каждую ветвь на одно имя с той же ветвью с этим именем существует как локально, так и удаленно. (Это значение по умолчанию можно изменить с помощью опции push.default
config.)
Итак, чтобы быть уверенным, что вы правильно ввели конкретную ветвь с тем же именем в удаленном origin
, рекомендуется всегда использовать эту форму:
git push origin <branch-name>
..., что эквивалентно git push origin <branch-name>:<branch-name>
.
Итак, чтобы убедиться, что вы локально объединили development
в master
, а затем нажали master
в GitHub, выполните следующие действия:
git checkout master
git merge development
git push origin master