Git-разница между командами amend и squash
в чем разница между командами amend и squash? Я попробовал оба и обнаружил, что оба делают то же самое для правильного управления.
2 ответов
в Git коммиты редко уничтожаются, они просто становятся сиротами или отдельно стоящее, что означает, что они не указаны или достижимы ссылкой, такой как ветвь или тег.
"изменить" и "давя" are подобные понятия, хотя.
как правило, О внесении изменений - это одна операция фиксации, в которой вы хотите объединить работу, которую вы поставили с фиксацией головы. Это может быть очень удобно, если вы только что создали зафиксируйте и осознайте, что вам нужно добавить к нему некоторое содержимое. Просто вспомните свою команду commit и используйте .
давя - это более абстрактное понятие. Я бы сказал, что поправка-это разновидность сквоша. Всякий раз, когда вы объединяете коммиты, вы можете сказать, что вы их раздавливаете. Если вы работали над веткой некоторое время и сделали 5 коммитов, которые вместе должны быть 1 коммитом, вы можете интерактивно перебазировать, чтобы раздавить их вместе.
в Git есть несколько способов изменить / сквош, но все они сосредоточены вокруг концепции организации вашей истории фиксации (что означает переписывание истории ветви) в этом духе, чтобы облегчить grok.
amend
изменяет только последнюю фиксацию.
squash
- это как слияние нескольких коммитов в один коммит.
только для одного коммита их эффекты могут выглядеть одинаково.