How to avoid "Merge branch 'name_of_branch' in commit messages?

I remember that for about a year ago I did some merges that resulted in the commit messages being Merge branch 'Name_of_branch' on the remote repository.

From what I remember it would happen if I rebased all commits in a branch and then merged it to master and then pushed to remote repository.

But now I can't reproduce it with git-1.7.2.2.

Have it been fixed? Or can someone explain how this happens, and perhaps how to avoid it?

33
задан Sandra Schlichting 29 August 2010 в 13:18
поделиться

1 ответ

Это сообщение фиксации слияния по умолчанию. Для его получения не требуется ничего особенного — просто выполните любое нетривиальное слияние с мастером:

- o - o - X (master)
   \     /
    o - o (topic)

Сообщение фиксации по умолчанию для фиксации X будет «Объединить ветку 'тема'». Если вы выполняете слияние с веткой, отличной от master, по умолчанию появляется сообщение «Объединить ветку «<объединенная-ветка>» с «<ветвь>» .

Я не понимаю, почему вы спрашиваете об «исправлении» и «избежании» этого. Это очень разумное сообщение по умолчанию для коммита слияния. Если вам нужно более подробное сообщение о коммите слияния, вы можете его предоставить. (Двумя основными способами являются использование git merge --no-commit с последующим git commit или git merge с последующим git commit -- amend, чтобы отредактировать сообщение.)

Возможно, вы привыкли делать только быстрые слияния? (Это тривиальные слияния, когда коммит, который вы объединяете, имеет вашу текущую ветку в качестве предка, поэтому все, что нужно сделать git, — это переместить ветку вперед по истории.) Они не генерируют коммиты слияния, поэтому нет сообщения фиксации.

(Кстати, push не имеет к этому никакого отношения — все, что он делает, это копирует информацию из одного репо в другой. Он никогда не создает коммиты.)

35
ответ дан 27 November 2019 в 18:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: