Предположим, локально у разработчика имеется две ветки: experimenatal и master. Разработка идет в ветке experimental. Вопрос в том, как перенести изменения, сделанные в experimental, в ветку master.
Нужно вначале переключиться на master ветку, то есть на ветку, куда нужно влить изменения:
git checkout master
Далее надо не забыть получить изменения ветки master с сервера репозитариев:
git pull
Затем нужно смержить изменения из experimental в master. В параметре команды указывается откуда берутся изменения:
git merge experimental
После чего надо залить изменения в ветке master на сервер:
git push
Коммит перед push делать не имеет смысла, потому что хоть файлы в ветке master и изменились, но изменения были приняты из другой ветки, то есть системе эти изменения уже были известны.