Предположим, есть большой проект, не соответствующий определенному стандарту форматирования Python, и вы хотите переформатировать весь код Python с помощью средства форматирования Python black, и предположим, что крупномасштабный проект довольно большой (скажем, ~ 2000 файлов Python) и около 30 человек, работающих над указанным проектом, каждый из которых работает над несколькими функциями в нескольких ветках. Также могут быть разные полузамороженные основные ветки, которые иногда объединяются с более новым кодом.
Использование черного цвета во всей кодовой базе вызовет суперконфликты с любой открытой веткой... Как бы вы выполнили этот процесс и минимизировали бы конфликты?
-Xignore-all-space
при слиянии (и, возможно, перемещении) в git, если черный цвет меняет только пробелы ( stackoverflow.com/questions/9776527/ ). - person fluffy   schedule 15.12.2020A
на вашем master/dev, примените черный цвет ко (всем) файлам Python и сделайте коммит. После этого создайте еще одну тестовую веткуB
из вашей самой большой функциональной ветки, в которой есть как можно больше изменений (не имеет значения, находится ли ветка в полуготовом состоянии, но многие изменения лучше для тестирования), применяйте черный цвет только к файлам, которые изменились внутри ветки функций и сделайте отдельную фиксацию после применения черного цвета. Как только это будет сделано, переключитесь на веткуA
и попробуйтеgit merge B
. Это должно пройти гладко, поскольку обе тестовые ветки используют одну и ту же политику форматирования прямо в исходном коде. - person fluffy   schedule 15.12.2020