Первая настройка Git
Прежде чем сделать первый коммит, Git нужно один раз сказать, кто вы, — это записывается в каждый коммит.
Прежде чем сделать первый коммит, Git нужно один раз сообщить имя и email. эта информация записывается в каждый коммит и остаётся в истории навсегда.
user.name/user.email обозначают не логин GitHub и не то же самое, что имя в профиле. Это данные, которые буквально попадают в каждый коммит как автор изменения, и их видно всем, кто посмотрит историю, в том числе после публикации на GitHub.Флаг --local относится только к этому одному репозиторию.
Чтобы не повторять настройку для каждого нового проекта, обычно используют
--global — тогда имя и почта применяются ко всем репозиториям
на этом компьютере:
git config --global user.name "Ваше Имя"
git config --global user.email "you@example.com"
Имя ветки по умолчанию
Здесь легко ошибиться: сам Git до сих пор называет самую первую ветку нового репозитория
master, если её имя никак не настроено, — это встроенное
поведение не изменилось. В версии 2.28 у Git появилась только сама
настройка init.defaultBranch, позволяющая задать другое
имя по умолчанию, — а не новое поведение "из коробки". Имя main
стало привычным, потому что GitHub, GitLab и многие редакторы настраивают эту опцию сами при
установке, но сам Git её не устанавливает. Поэтому Cartesian School задаёт её явно, а не
полагается на то, что окажется настроено на конкретном компьютере:
git config --global init.defaultBranch main
init.defaultBranch — раньше такой настройки не существовало вообще, и переименовать первую ветку можно было только вручную после создания репозитория. Но сама опция ничего не меняет, пока её не задать: без неё Git по-прежнему создаёт ветку master, в любой версии, вплоть до самой новой. Проверить это можно на чистом окружении без ~/.gitconfig — там git init создаёт именно master.Коротко
- user.name/user.email записываются в каждый коммит — это данные автора, а не логин GitHub.
- --global применяет настройку сразу ко всем репозиториям на компьютере.
- Git 2.28 добавил настройку init.defaultBranch, но встроенное имя первой ветки по-прежнему master — main нужно задать явно.