Git объединить только последний коммит ветки разработки - PullRequest
1 голос
/ 03 апреля 2020

В настоящее время у меня есть две ветви: ветка разработки и основная ветвь.

Основная ветвь (в идеале) заполнена коммитами с тегами, которые соответствуют релизам. Один коммит, один релиз, один тег.

Ветвь разработки выходит из последней версии. Я разрабатываю новую функцию и сливаюсь обратно с master.

Проблема в том, что когда я делаю это, ветка master теперь будет иметь все коммиты, которые есть в ветке разработки, но в идеале я хочу сохранить ветку master чистый и только коммиты релиза должны быть видны.

Одно решение, которое я нашел, это «выбрать вишню» последний коммит ветки разработки и поместить его в master. Но у этого, похоже, есть свои недостатки.

Так что в ветке master каждый коммит будет выбираться из ветви разработки, которая никогда не сливается с master.

1) Это будет "лучшим" -practice "подход к поддержанию ветки релиза в чистоте с использованием только отмеченных коммитов? Есть ли способ решить эту проблему с помощью «слияния» или каким-либо другим способом? 2) Будет ли объединение ветки разработки иметь преимущества, даже если основная ветвь не будет выглядеть слишком чистой? (Я мог бы решить это с помощью тегов).

1 Ответ

3 голосов
/ 03 апреля 2020

Похоже, что вы хотите

git merge --squash develop

Как использовать git Слияние --squa sh?

Вы также можете использовать интерактивный ребаз, если вы хотите только подмножество коммитов

git rebase -i origin/master

Затем следуйте инструкциям, чтобы squa sh желаемые коммиты в вашей основной ветке.

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