У Windows 7 (можливо однаковий або подібний для Windows 10), для Visual Studio та командного рядка Git ваша глобальна конфігурація знаходиться в:
%USERPROFILE%\.gitconfig
(крапка перед ім'ям файлу)
Але це не на честь Sourcetree, принаймні у вбудованому режимі Git, а конфігурація:
%USERPROFILE%\AppData\Local\Atlassian\SourceTree\git_local\mingw32\etc\gitconfig
(без крапки перед іменем файлу)
(Мені потрібно було оновити обидва файли, щоб змінити мої загальні налаштування Git для команди Git та Sourcetree.)
Ще одна весела частина. Конфігурація Git hooks працювала з AppData\Local\...
місця розташування, але після подальших досліджень за допомогою Process Monitor я помітив, що Sourcetree також завантажує глобально з картографічного диска для мого користувача.
Це має дуже мало сенсу, оскільки дуже мало програм шукає це місце, але якимось чином Sourcetree це робить, тому, якщо ви не можете змусити його працювати за налаштуваннями розташування в Sourcetree, запустіть Process Monitor і створіть правило, щоб реєструвати лише шлях, що містить gitconfig, і ви можна знайти, де насправді знаходиться ваша глобальна конфігурація на випадок мережевого каталогу користувачів.
І це може бути навіть не виною Sourcetree, як я бачу зараз, коли пишу це, git.exe завантажує це, але це відбувається лише для git.exe, що виконується Sourcetree, тоді як прямий командний рядок Git використовує %USERPROFILE%\.gitconfig
Нарешті, я взяв усі результати з Process Monitor, подав їх на SQL Server і запустив запит, щоб отримати чіткі результати (жодного конкретного порядку виконання, просто відсортованого за шляхом):
Я не знаю, як ці конфігурації співвідносяться між собою, але я знаю, що деякі замінюють інші, деякі налаштування працюють з одного місця, інші з іншого.
І наведений вище список викликається Sourcetree , знову ж таки прямий командний рядок з Git, здається, працює нормально %USERPROFILE%\.gitconfig
, і цього немає в цьому списку, але це буде виглядати так (у Windows 7)C:\Users\pawel.cioch\.gitconfig
git config --list --show-origin
вам не доведеться вгадувати, де де налаштування git. Дивіться мою відповідь нижче