Я обычно придерживаюсь того, чтобы объединить несколько коммитов в один коммит, прежде чем нажимать код.
Чтобы достичь этого, я предлагаю вам использовать концепцию ' squash ', предоставленную GIT.
Выполните следующие шаги.
1) git rebase -i master (вместо master вы также можете использовать определенный коммит)
откройте интерактивный редактор rebase, где он покажет все ваши коммиты. В основном, там, где вам нужно идентифицировать коммиты, которые вы хотите объединить в один коммит.
Представьте, что это ваши коммиты и что-то подобное показано в редакторе.
pick f7f3f6d changed my name a bit
pick 310154e updated README formatting and added blame
pick a5f4a0d added cat-file
Важно отметить, что эти коммиты перечислены в обратном порядке, чем вы обычно видите их с помощью команды log. Значит, старый коммит будет показан первым.
2) Измените 'pick' на 'squash' для последних совершенных изменений. что-то вроде показано ниже. При этом ваши последние 2 коммита будут объединены с первым.
pick f7f3f6d changed my name a bit
squash 310154e updated README formatting and added blame
squash a5f4a0d added cat-file
Вы также можете использовать короткую форму, если у вас есть много коммитов для объединения:
p f7f3f6d changed my name a bit
s 310154e updated README formatting and added blame
s a5f4a0d added cat-file
для редактирования используйте 'i', он включит редактор для вставки. Имейте в виду, что большинство (самых старых) коммитов не могут быть раздавлены, так как нет предыдущего коммита, с которым можно было бы объединиться Так что это должно быть выбрано или «р». Используйте «Esc» для выхода из режима вставки.
3) Теперь сохраните редактор с помощью следующей команды.
: WQ
Когда вы сохраняете это, у вас есть один коммит, который вводит изменения всех трех предыдущих коммитов.
Надеюсь, это поможет вам.