git rebase после того, как ветвь была объединена с master - PullRequest
0 голосов
/ 06 марта 2020

Скажем, у меня есть основная ветвь и ветвь функций под названием FA1, которая разветвлена ​​от главной, и у меня есть другая ветвь функций под названием FA2, которая разветвлена ​​от FA1.

Когда я работаю с FA2 и хочу чтобы внести изменения из FA1, я делаю: git rebase -i FA1.

Однако, в какой-то момент FA1 объединяется с мастером, и я хочу изменить FA2, чтобы теперь он базировался на мастере, больше не имеет смысла разветвленная выкл. FA1.

Как правильно изменить целевую ветвь FA2, чтобы она была ведущей ИЛИ другими словами, чтобы FA2 была обновленной с мастером.

Ответы [ 3 ]

3 голосов
/ 06 марта 2020

Просто сделайте

git fetch
git rebase origin/master

Справочная информация: Git нигде не хранит данные о том, на какую ветку вы перебазировали в прошлом, поэтому он не знает, что вы перебазировали на FA1 ранее, и поэтому особо отметив, что нужно делать, когда вы хотите переключить базу для перебазирования в expcept, well, чтобы указать эту новую базу в rebase.

0 голосов
/ 06 марта 2020

Сделать FA2 производным напрямую от мастера:

 git checkout FA2
 git rebase FA1 FA2
 git rebase --onto master FA1 FA2

см. Документацию rebase

0 голосов
/ 06 марта 2020

[...] больше не имеет смысла, что ответвляется от FA1 [...]

Это не совсем так. Независимо от того, существует ли ветвь FA2 или нет, FA1 остается разветвленной с тем же коммитом .

Если вам необходимо внести в FA2 последние коммиты, объединенные в master, да, вы действительно можете перебазировать FA2 на master, как вы это делали ранее с FA1.

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