Git: дополнительные изменения во время слияния без конфликтов

Давайте предположим, что вы объединяете одну ветку в Git с другой (конечно, не вперед). И у вас нет конфликтов, поэтому слияние должно быть успешным, без перерывов. Но по некоторым причинам вы хотите внести некоторые изменения вручную в это объединенное файловое дерево, чтобы быть частью этого слияния. Как это сделать?

Зачем мне такая странная вещь? Это происходит из-за моего процесса рабочего процесса (который, возможно, тоже может быть улучшен - поэтому советы здесь очень приветствуются): у меня есть одна "основная" ветвь, и когда я хочу реализовать новую функцию, я получаю новую ветвь от мастера и использовать его, пока функция не будет завершена. Затем я объединяю эту ветку с мастером назад (используя режим no-ff). Но проблема здесь в том, что моя политика версий (в частности, семантические версии) требует увеличения номера версии вместе с новой функцией. Поэтому в этот момент я должен сделать еще один коммит непосредственно мастеру, не внося изменений в код в файлах конфигурации, указывая, что здесь новая версия. В результате я должен зафиксировать два коммита в master, ссылаясь на новую версию: слить коммит без указаний в конфигах новой версии, а затем зафиксировать с такими указаниями, но без каких-либо существенных изменений в кодовой базе. Поэтому на первый взгляд было бы неплохо объединить такие коммиты. Но я не знаю как.

1 ответ

Решение

Вы можете объединить его с параметром --no-commit

git merge --no-ff --no-commit mybranch

Поэтому после этого ваши изменения из ветки "mybranch" будут переданы вашему мастеру, но без коммита. Таким образом, вы можете добавить изменения в политику версий и только затем сделать один коммит

Другие вопросы по тегам