Правильный способ отразить уже внесенные изменения в локальную ветку - PullRequest
0 голосов
/ 23 октября 2019

Предположим, у меня есть две ветки git develop и feature.

Ветвь функций разветвлена ​​вне разработки.

Когда изменения сделаны, они перезагружаются на develop и в конечном итоге передаются на пульт.

Когда какой-то разработчик отправляет свои изменения на пульт (разработку) непосредственно перед нажатиеммоя локально перебазированная ветвь разработки на удаленный, какой правильный (рекомендуемый) способ отразить уже внесенные изменения в мою локальную ветвь и затем нажать?

например
1. Извлечь develop на локальный
2. Создайте ветку feature и сделайте два коммита commit-C и commit-D
3. Перебазируйте коммиты на develop и вот-вот отправьте на пульт

 develop(remote)  commit-A -> commit-B -> commit-X
 develop(local)  commit-A -> commit-B -> commit-C -> commit-D
 feature(local)  commit-A -> commit-B -> commit-C -> commit-D

Ответы [ 2 ]

2 голосов
/ 23 октября 2019

Ваша отправка не удалась бы, потому что commit-X предотвращает ускоренную перемотку в удаленной ветви разработки. Таким образом, нет риска перезаписать коммиты на пульте дистанционного управления (если вы не используете -f или --force)

Если толчок не удастся, вы можете просто перебазировать снова:

git rebase origin/develop

илиесли ваше местное отделение также развивается:

git pull --rebase
2 голосов
/ 23 октября 2019

Если я понимаю, что вы ищете, вы хотите перейти в состояние, которое выглядит следующим образом:

develop(local)  commit-A -> commit-B -> Commit-X -> commit-C -> commit-D

Вы должны иметь возможность использовать git pull --rebase, когда на локальном develop длядостичь этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...