Как чисто перебазировать большое количество коммитов, не меняя измененные файлы PR? - PullRequest
0 голосов
/ 18 июня 2020

Я открыл запрос на перенос к repo из ветки br моей вилки. Пока запрос на перенос находится на рассмотрении, есть другие разработчики, которые объединили свои запросы на перенос, и вышестоящее репо обновляется. Я обновил свою ветку с помощью мастера с помощью кнопки ветки обновления update button

Теперь у меня есть большое количество коммитов, и я хочу объединить sh их в один. Когда я делаю git rebase -i HEAD~21, я могу скомбинировать sh их всех в одну фиксацию, но они содержат другие изменения от восходящего мастера и портят мои фактические изменения. Как мне сделать это чисто?

1 Ответ

0 голосов
/ 18 июня 2020

Вместо того, чтобы делать git rebase -i HEAD~21, у меня есть альтернативный рабочий процесс, который поможет решить некоторые из ваших проблем, и я объясню каждый шаг ниже.

git checkout branch br

git pull

Это гарантирует, что у вас установлена ​​последняя версия ветки br.

git checkout <your feature branch>

git rebase <br>

Это повторно применит ваши коммиты поверх другой базовой подсказки (в данном случае обновленной ветки br). Это сделает так, что все, о чем вам нужно беспокоиться, - это ваши собственные коммиты и их раздавливание. Если я правильно помню, это также та точка, в которой вы будете иметь дело с конфликтами слияния.

git rebase -i <br>

Отсюда вы знаете, что делать. Squa sh или исправьте, как обычно.

Поскольку вы выполнили перебазирование, вам, конечно же, нужно будет сделать git push -f <origin yourbranch>, поэтому убедитесь, что ваш журнал git имеет то, что вы хотите. Вы можете использовать журнал ссылок для отката изменений, если вы здесь допустили ошибку.

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