Как сделать ребаз как локально, так и удаленно? - PullRequest
1 голос
/ 27 января 2020

enter image description here

Оранжевый показывает локальную ветвь, желтый - удаленную ветвь.

Я перебазировал свою ветку локально. Затем к pu sh изменениям в пульте я выполнил тягу (потому что она сообщила мне, что моя ветвь теперь позади), а затем pu sh. Я должен сделать силу пу sh? Или удалите удаленный, а затем pu sh?

Поскольку две ветви теперь «объединены», мой лучший способ выполнить сброс / удаление слияния, удалить удаленную ветвь и затем pu sh снова?

1 Ответ

0 голосов
/ 27 января 2020

Скажем, у вас есть ветвь 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 всегда много вариантов.

...