Крупнейший сервис хранения репозиториев кода GitHub продолжает внедрение масштабных изменений. На этот раз разработчики отредактировали политику создания новых репозиториев кода.
Что изменилось
Раньше при создании нового репозитория на GitHub в нем автоматически создавалась ветка master. Теперь вы можете самостоятельно задать имя ветки по умолчанию для всех репозиториев кода, которые вы создадите позднее.
Опция доступна для отдельных пользователей и для компаний. В GitHub подчеркнули: большие компании могут задать определенное имя ветки и мотивировать подчиненные организации или проекты также его использовать.
Где установить новые значения:
- Для отдельных пользователей: https://github.com/settings/repositories;
- Для репозиториев организаций: https://github.com/organizations/_название_вашей_организации_/settings/repository-defaults;
- Для аккаунтов крупных компаний Enterprise-уровня: https://github.com/enterprises/_название_вашей_компании_/settings/member_privileges page.
Если вы не укажете новое имя основной ветки до 1 октября 2020 года, то свежие репозитории будут автоматически создаваться с веткой main вместо master. Изменить значение по умолчанию для новых веток можно в любой момент.
Изменения не затронут существующие репозитории. Имена основных веток в них останутся прежними.
С чем это связано
К масштабным изменениям сервис отчасти подтолкнуло движение Black Lives Matters. Его активисты обратили внимание, что во многих программных продуктах используются термины, которые могут оскорбить представителей отдельных категорий населения. Это заставило GitHub и другие компании пересмотреть свои определения: например, отказаться от «белых» и «черных» списков (whitelist и blacklist) для разрешенных и запрещенных объектов, в частности, ссылок, пользователей и др.
Теперь черед дошел и до master. В разработке ПО достаточно часто используют пары master / slave (в этом контексте слова переводятся как «хозяин / раб») для основного и подчиненного объекта, например, загрузочных дисков.
Имя main – нейтральное, переводится как «главный» или «главная». К нему вопросов не возникнет.
Что дальше
Разработчики отметили, что переименование основной ветки в существующих репозиториях может вызвать ряд проблем. Например, открытые пулл-реквесты и черновики релизов придется перенаправлять вручную на ветку с новым именем. Кроме того, политики защиты, которые действовали для ветки со старым названием, нужно будет применить к новому.
До конца года разработчики намерены упростить переименование основных веток в существующих репозиториях. После этого ссылки на открытые пулл-реквесты и черновики релизов будут автоматически перенаправляться на новое имя, а политики защиты кода будут применяться к ветке по умолчанию независимо от ее имени.
Также разработчики планируют перенаправлять пользователей, которые выполнили git fetch или git clone для репозитория со старым именем ветки, на ее новое имя. Это облегчит работу для контрибьюторов и избавит от необходимости выполнения рутинных действий вручную.