Скажем, у вас есть ветвь master
и ветвь feature
, которая начинается с некоторого коммита на master
. Затем вы набираете sh эту ветку на пульте дистанционного управления:
git checkout master
git checkout -b feature
/* do some stuff, commits, etc */
git push origin feature
Затем ваш коллега фиксирует master
. Вы хотели бы, чтобы эти изменения были в вашей ветке feature
, и поэтому вы решили сделать:
git checkout master
git pull origin master
git checkout feature
git rebase master
Если затем вы хотите положить sh эту feature
ветку на пульт, чтобы он выглядел идентичный вашему локальному репозиторию, вам нужен флаг форсировки:
git push -f origin feature
Является ли это хорошей практикой, это другой вопрос. Вы можете отправить его в другую ветку, как вы, например, сказали. С git
всегда много вариантов.