Как сделать общий комит при слиянии ветки devTest и ветки master?
Это называется fast forward. Если в ветке, куда делаете merge нет коммитов с момента ответвления, git не будет создавать новый коммит с двумя предками, а просто перенесёт старую ветку на последний коммит новой ветки. (ветка это просто указатель на коммит).
Если хотите отключить это поведение, достаточно сделать git merge --no-ff <branch_name>
Нужно воспользоваться такой фишкой как параметр --squash (сплющить коммиты) функции rebase. Смысл этой функции в том, что маленькие коммиты объединятся в один большой, потом выполнится слияние с master. После чего ветку разработки можно будет удалить. В результате должно получится 3 коммита в ветке master. Один первый начальный, второй результат "сплющивания" и третий результат мержа первого коммита мастера с коммитом "сплющенными" т.к. при rebase ветки разработки она будет опережать мастер и нужно будет выполнить слияние master c перенеснной "сплющенной" веткой .
В подробностях тут