Полагаю, эти 50 коммитов в вашей ветке.
Я также предполагаю, что ваша ветвь основана на родительской ветке (например, master
), в которой она запрашивается для слияния (с запросом на слияние).
Если это так, и если вы хотите, чтобы эти 50 коммитов были едины, вы можете сделать:
git rebase --interactive master # change master if it is not your base branch
В редакторе, который будет открыт, пометьте коммиты от 2 до 50 как squash
вместо pick
, сохраните и выйдите, обновите сообщение коммита, чтобы получить тот, который вы хотите, и все ваши коммиты будут сжаты в один.
Если вы хотите, чтобы коммиты с 1 по 49 исчезли (включая их содержимое) и оставили только 50-й), в редакторе при запуске git rebase --interactive master
удалите все строки, которые вы не хотите сохранять, только последний коммит, затем сохраните и выйдите.
В конце вам придется нажать форс, чтобы обновить пульт:
git push --force
Пожалуйста, прочтите также раздел INTERACTIVE MODE
:
man git-rebase