Есть ли способ сквоировать и объединить мастер в одну ветку? Эффективно принимать все ожидающие коммиты и помещать их в 1 фиксацию?
Моя первоначальная идея - это script, которая принимает my-branch
и выполняет git checkout master && git pull && git checkout my-branch-squashed
, а затем git merge --squash my-branch
(справляется с любыми конфликтами слиянием), а затем, наконец, удаляет my-branch
и переименовывает my-branch-squash
в my-branch
Это кажется очень крутым и, возможно, плохим, поэтому я пытаюсь понять, есть ли другой способ. Цель, которую я пытаюсь решить, заключается в том, что когда я помещаю ветки на github, и они "раздавлены и объединены" в master, ветвь, существующая на локальной машине, не соответствует ветке, которая была объединена с master, поэтому при использовании git branch --merged ${1-master} | grep -v " ${1-master}$" | xargs -r git branch -d;
он неправильно удаляет ветки, которые уже были объединены в master. То, что я хочу, - это способ автоматического удаления старых ветвей, которые были объединены в master