Когда вы покупаете автомобиль или велосипед, вы сначала настраиваете положение сиденья и высоту седла в соответствии с размерами вашего тела. То же самое происходит и с настройкой git.
В этой статье я поделюсь настройкой git, которую я использую постоянно.
Имя пользователя и адрес электронной почты
git config —global user.name «» &&
git config —global user.email «»
Замените на мое имя и адрес почты.
Псевдоним для существующей команды
git config —global alias.co checkout
git config —global alias.st status
git config —global alias.br branch
Глобальная настройка игнорирования
git config —global core.excludesfile ~/.gitignore_global
Это позволит вам поместить ваши собственные настройки игнорирования в ~/.gitignore_global в дополнение к .gitignore для каждого проекта, которые будут применяться ко всем операциям git во всех проектах.
Переместите только ту ветку, над которой вы сейчас работаете
git config —global push.default simple
Сделайте —rebase поведением по умолчанию при git pull
git config —global pull.rebase true
Это предотвратит непреднамеренное создание коммита слияния, если ветвь, из которой производится вытягивание, была изменена локально.
Сделать —prune поведением по умолчанию при git fetch
git config —global fetch.prune true
Это удалит локальные ветки, которые были удалены удалённо при выполнении git fetch или git pull.
Установите ширину отступа для символов табуляции
git config —global core.pager ‘less -x4’
В этом примере опция pager (команда less) задает ширину отступа табуляции равной 4.
Используйте nvim в качестве редактора, который будет использоваться при фиксации
git config —global core.editor ‘nvim’
Я использую несколько различных текстовых редакторов для разных целей, но я предпочитаю использовать nvim с git commit.
Не использовать ускоренную перемотку при слиянии
git config —global —add merge.ff false
git config —global —add pull.ff only
Ускоренное слияние затрудняет отслеживание истории работы над веткой. Поэтому при слиянии избегайте непреднамеренных быстрых переадресаций.
Однако, в большинстве случаев ускоренное слияние не является проблемой для случаев git pull 1, поэтому мы принудительно используем ускоренное слияние в случае pull.
См. также: gitのmerge —no-ff のススメ — Qiita
Выводить номера строк в результатах git grep
git config —global grep.lineNumber true
Визуализация различий в пробельных символах (включая коды новой строки)
git config diff.wsErrorHighlight all
ПРАВКА: 2022-07-31
dotfile
Как упоминалось в комментариях, эти параметры хранятся в .gitconfig. И я добавил эти настройки в репозиторий dotfiles.
https://github.com/snaka/my-dotfiles/blob/master/.gitconfig
Спасибо всем, кто комментирует и следит за мной.