Преимущества не-squash+merge и squash+merge/squash в Git
От: halo Украина  
Дата: 08.10.18 09:13
Оценка:
Имеется следующая ситуация. В ветке, при замене одного компонента на другой, один из разработчиков реализовал выпил старого и запил нового в одном коммите. На мои возражения, что такие изменения лучше делать в отдельных коммитах (причём, промежуточные коммиты не ломают сборку), он отказался от разбивки коммита на два до слияния его в основную ветвь. Хорошо, пускай, мне и для процесса разработки это не принципиально, и тратить время на споры я совсем не хочу. Я приверженец следующего подхода:

* Merged feature-2
|\
| * (any intermediate work if necessary)
| * Added the new component
| * (any intermediate work if necessary)
| * Removed the old component
| * (any intermediate work if necessary)
|/
* Merged feature-1
|\
| * Bla-bla-blah


Он предпочитает:

* Merged feature-2
|\
| * Replaced the component
|/
* Merged feature-1
|\
| * Bla-bla-blah


Хотя, очевидно, были разговоры и о таком раскладе:

* Replaced the component
* Bla-bla-blah


Я в этом не вижу большого смысла в git, потому что:


И вообще, сам git предлагает отличный набор инструментов, чтобы просматривать историю как заблагорассудится. Больше преимуществ со своей стороны пока назвать не могу. Из минусов моего подхода, с которыми я согласен:


Какие ещё преимущества предлагают и недостатки тянут за собой мой и его подход?
git squash
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.