git config —list — это команда, которая показывает все настройки Git, которые сейчас действуют (системные + глобальные + локальные + из переменных окружения).

Твой список — это типичная конфигурация Windows + Git for Windows + Visual Studio + Git LFS + Azure DevOps + много safe.directory из-за какой-то автоматизации/скриптов/снимков (скорее всего ZennoPoster или что-то подобное создаёт кучу репозиториев в .snaps).

Разберём самые важные и интересные строки по группам:

Самые главные / личные настройки

user.name=w3bgr3p
user.email=************@users.noreply.github.com

→ Это твои имя и почта, которые будут в каждом коммите. Почта — типичная для GitHub noreply (когда используешь “Keep my email addresses private”).

init.defaultbranch=master

→ Новые репозитории по умолчанию будут создавать ветку master (а не main, как сейчас модно).

Windows-специфичные (очень типично для Git for Windows)

core.autocrlf=true

→ Git автоматически конвертирует CRLF (Windows) ↔ LF (Linux/Mac) при коммите/чек-ауте. Самый популярный вариант на Windows.

core.symlinks=false

→ Симлинки не поддерживаются (Windows их плохо умеет без прав администратора).

http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt

→ Git использует OpenSSL для HTTPS и указывает путь к сертификатам.

Git LFS (Large File Storage)

filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true

→ Включён Git LFS — для больших файлов (картинки, модели, бинарники и т.д.).

Visual Studio / diff & merge tool

diff.tool=vsdiffmerge
difftool.vsdiffmerge.cmd="C:\Program Files\Microsoft Visual Studio\2022\Community\..." ...
merge.tool=vsdiffmerge
mergetool.vsdiffmerge.cmd=...

→ Для просмотра различий и разрешения конфликтов используется VS Diff Merge из Visual Studio 2022 Community.

Credential helper (хранение паролей/токенов)

credential.helper=manager
credential.https://dev.azure.com.usehttppath=true

→ Используется Git Credential Manager (очень хороший выбор).
usehttppath=true — важно для Azure DevOps / dev.azure.com. Без этой настройки Git не понимает, к какой именно организации относится репозиторий → не может правильно взять токен.

Pull behaviour

pull.rebase=false

→ При git pull будет merge-коммит, а не rebase (классическое поведение). git config —list — это команда, которая показывает все настройки Git, которые сейчас действуют (системные + глобальные + локальные + из переменных окружения).

Твой список — это типичная конфигурация Windows + Git for Windows + Visual Studio + Git LFS + Azure DevOps + много safe.directory из-за какой-то автоматизации/скриптов/снимков (скорее всего ZennoPoster или что-то подобное создаёт кучу репозиториев в .snaps).

Разберём самые важные и интересные строки по группам:

Самые главные / личные настройки

user.name=w3bgr3p
user.email=113336090+w3bgrep@users.noreply.github.com

→ Это твои имя и почта, которые будут в каждом коммите. Почта — типичная для GitHub noreply (когда используешь “Keep my email addresses private”).

init.defaultbranch=master

→ Новые репозитории по умолчанию будут создавать ветку master (а не main, как сейчас модно).

Windows-специфичные (очень типично для Git for Windows)

core.autocrlf=true

→ Git автоматически конвертирует CRLF (Windows) ↔ LF (Linux/Mac) при коммите/чек-ауте. Самый популярный вариант на Windows.

core.symlinks=false

→ Симлинки не поддерживаются (Windows их плохо умеет без прав администратора).

http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt

→ Git использует OpenSSL для HTTPS и указывает путь к сертификатам.

Git LFS (Large File Storage)

filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true

→ Включён Git LFS — для больших файлов (картинки, модели, бинарники и т.д.).

Visual Studio / diff & merge tool

diff.tool=vsdiffmerge
difftool.vsdiffmerge.cmd="C:\Program Files\Microsoft Visual Studio\2022\Community\..." ...
merge.tool=vsdiffmerge
mergetool.vsdiffmerge.cmd=...

→ Для просмотра различий и разрешения конфликтов используется VS Diff Merge из Visual Studio 2022 Community.

Credential helper (хранение паролей/токенов)

credential.helper=manager
credential.https://dev.azure.com.usehttppath=true

→ Используется Git Credential Manager (очень хороший выбор).
usehttppath=true — важно для Azure DevOps / dev.azure.com. Без этой настройки Git не понимает, к какой именно организации относится репозиторий → не может правильно взять токен.

Pull behaviour

pull.rebase=false

→ При git pull будет merge-коммит, а не rebase (классическое поведение).

Много-много safe.directory

safe.directory=W:/work_hard/zenoposter/CURRENT_JOBS/W3t00ls
safe.directory=w:\work_hard\zenoposter\CURRENT_JOBS\.snaps\5061f9c984024b1e9411bd3b70f7aaab
safe.directory=w:\work_hard\zenoposter\CURRENT_JOBS\.snaps\accountant
...
safe.directory=w:\work_hard\zenoposter\CURRENT_JOBS\.snaps\kitev2

Это самое интересное и необычное в твоём списке.

safe.directory — защита Git (с версии ~2.35+), чтобы не работать с репозиториями, которые “принадлежат не тебе” (по uid/правам).
Очень часто появляется на:

  • сетевых дисках
  • WSL
  • когда репозитории создаются от другого пользователя/от имени администратора
  • в контейнерах/виртуалках

У тебя, похоже, ZennoPoster (или какой-то автоматизатор) создаёт кучу временных репозиториев в папке .snaps → и каждый раз Git ругается “dubious ownership”, поэтому добавляется запись в safe.directory.

Можно сильно упростить — вместо сотен строк добавить одну:

git config --global --add safe.directory "*"

Это говорит Git: «считай все репозитории безопасными» (удобно для локальной разработки, но чуть менее безопасно — редко когда реально опасно).

Кратко — что у тебя настроено в двух словах

  • Windows + Git LFS + Visual Studio diff/merge
  • Автоконвертация переводов строк
  • Credential Manager + поддержка Azure DevOps
  • Ты — w3bgr3p с GitHub noreply-почтой
  • master по умолчанию при init
  • Очень много доверенных директорий из-за .snaps / ZennoPoster

Если хочешь — можешь почистить safe.directory и поставить одну звёздочку — будет чище и короче.

Есть вопросы по какому-то конкретному пункту — спрашивай, разберём детальнее.

Много-много safe.directory

safe.directory=W:/work_hard/zenoposter/CURRENT_JOBS/W3t00ls
safe.directory=w:\work_hard\zenoposter\CURRENT_JOBS\.snaps\5061f9c984024b1e9411bd3b70f7aaab
safe.directory=w:\work_hard\zenoposter\CURRENT_JOBS\.snaps\accountant
...
safe.directory=w:\work_hard\zenoposter\CURRENT_JOBS\.snaps\kitev2

Это самое интересное и необычное в твоём списке.

safe.directory — защита Git (с версии ~2.35+), чтобы не работать с репозиториями, которые “принадлежат не тебе” (по uid/правам).
Очень часто появляется на:

  • сетевых дисках
  • WSL
  • когда репозитории создаются от другого пользователя/от имени администратора
  • в контейнерах/виртуалках

У тебя, похоже, ZennoPoster (или какой-то автоматизатор) создаёт кучу временных репозиториев в папке .snaps → и каждый раз Git ругается “dubious ownership”, поэтому добавляется запись в safe.directory.

Можно сильно упростить — вместо сотен строк добавить одну:

git config --global --add safe.directory "*"

Это говорит Git: «считай все репозитории безопасными» (удобно для локальной разработки, но чуть менее безопасно — редко когда реально опасно).

Кратко — что настроено в двух словах

  • Windows + Git LFS + Visual Studio diff/merge
  • Автоконвертация переводов строк
  • Credential Manager + поддержка Azure DevOps
  • master по умолчанию при init
  • Очень много доверенных директорий из-за .snaps / ZennoPoster