Различия между git merge --squash и --no-commit
как говорится в названии, я не совсем ясно о различиях между a git merge --squash и git merge --no-commit.
насколько я понимаю, страница справки для git merge, обе команды оставят меня в обновленном рабочем дереве, где по-прежнему можно редактировать, а затем выполнить окончательный коммит (или несколько коммитов).
может ли кто-нибудь прояснить различия этих двух вариантов? Когда я буду использовать один вместо другого?
1 ответ:
git merge --no-commitЭто похоже на обычное слияние, но не создать слияние фиксации. Эта фиксация будет фиксацией слияния: когда вы смотрите на историю, ваша фиксация будет отображаться как обычное слияние.
git merge --squashЭто позволит объединить изменения в рабочем дереве, не создавая фиксацию. Когда вы фиксируете объединенные изменения, это будет выглядеть как новая "нормальная" фиксация в вашей ветке: без фиксации слияния в истории. Это почти так же, как вы сделали вишневый выбор на всех слитых изменения.
Comments