Т.е. грубо говоря у тебя при мерже в 3 окнах всегда чувство «я скопировал туда, куда нужно и откуда нужно».
во время мержей, меня (типично) не интересуют авторы каждой строчки.
если есть неоднозначный конфликт, который я не могу разрешить, потому что 2 других человека поменяли одну и ту же строчку, и выбрать из них 1 невозможно — я обращаюсь к авторам изменений. кто авторы — я знаю еще до начала мержей, из других источников (пулл реквестов, девелопер-чатов, имейлов, и т.п.).
Суть git'а — переложить проблемы мержа на автора pull-request'а. Потому что он лучше знает, как его код взаимодействует с окружающим.
в git/hg нет понятия «пулл реквест». пулл реквесты покрывают далеко не все workflows. особенно в больших проектах/конторах. часто приходится мержить несколько рабочих бренчей от разных депелоперов, а потом уже делать окончательный PR в транк.
а так да, если у тебя 2-3 core-devs + рандомы, и все идет через пулл реквесты, да еще и на гитхабе — то все как ты сказал. конфликтов подобного рода не бывает.
Я всегда думал, что это от https://git-scm.com/docs/git-request-pull пошло. Делаешь изменения, потом запускаешь команду, которая готовит письмо, которое затем отсылаешь. А Github это просто сделал внутри сайта, без писем и публичных ссылок.
у меня были конфликты при rebase из master-а в свою dev-бранч.
После недели болезни. Я задолбался и таки сделал accept theirs. И знаете почему? Потому что даже в PHPStorm в диалоге мержа нет Blame (информация об аффтаре, дате, номере коммита и первой строки из текста коммита.
На это мне даже сеньор моей предыдущей фирмы жаловался.
Проблема усугубляется еще и тем, что: мой текущий сеньор (а сейчас он CTO) коммитит багфиксы часто напрямую в мастер и делает sync по FTP напрямую с live. Типа быстрее, да.
Это конфликтует с моим предыдущим очень полужительным опыт работы с ОДНИМИ ТОЛьКО КОРОТКОЖИВУЩИМИ ФИЧА БРАНЧАМИ.
А я потом тр..сь с мержем т.к. его quick & dirty багфиксы конфликтят с моими багфиксами.
ЧМДНТ?
Мне поднимать этот вопрос (по поводу минимизации кол-во мержей) на планерке или таки пора валить?
А я сегодня полдня ухекал на мержи. При котором нет гарантии того, что я делаю правильно. Т.к. у нас нет и не может быть юнит тестов.
Объясни ему, что в туалетных кабинках не случайно одна дверь, закрывающаяся изнутри. Наличие второй, не контролируемой пользователем двери делает первую бессмысленным фарсом. Проще снести все перегородки совсем.
Ты бы вопрос почитал. Там требование — один коммит на фичу или багфикс. Фактически, у них там SVN, только GIT. Локально можешь ветвиться и коммититься как хочешь, но в итоге нужно сделать один патч в линейную историю. И в этом случае логично сквончить всё в один коммит.
в каких случаях нужен ОДИН коммит на багфикс или фичу?
В случае если в вашем workflow описано, что нужен один коммит на багфикс или фичу. Workflow либо рассказывают тебе неформально, либо дают документ прочитать.