Я знаю, що можна встановити конфігурації для кожного репо, які замінюють конфігурацію на рівні користувача (тобто /path/to/my/repo/.gitconfigзамінює ~/.gitconfig). Чи можна встановити налаштування git, які замінюють налаштування на рівні користувача для всіх дочірніх папок даної папки? Тобто я маю
|--topLevelFolder1
|--\
| ---.gitconfig_override
|--\
| ---childFolder1
| \---[...]
|--\
| ---childFolder2
| \---[...]
І я хочу, щоб налаштування, визначені в, .gitconfig_overrideзастосовувались в childFolder1і childFolder2.
Мотивація цього така: у мене є робочий ноутбук, який я також використовую у вільний час для особистих проектів. Весь мій робочий код вкладений в одну папку. Коли я натискаю на роботу git repos, мені потрібно зробити це зі своєю робочою персоною - робочий логін замість імені та робоча електронна адреса. Коли я натискаю на власні особисті (github) репозиторії, я хочу зробити це за допомогою свого справжнього імені та особистої електронної пошти.
Інші можливі рішення, про які я думав (і проблеми):
- Створіть окремих користувачів для "роботи" та "відтворення", встановіть належним чином їхні параметри на рівні користувача та ввійдіть як відповідний користувач, коли я переключаю контекст (клопоти, плюс я міг легко забути перейти)
- Створіть скрипт, який шукає git repos всередині "workFolder", і додає / оновлює їхні файли .gitconfig, щоб зберігати відповідні деталі (якщо я створив репо і забув запустити сценарій перед натисканням, я буду натискати як неправильну особу)
- "зламати" git таким чином, що кожного разу, коли він створює репо, він перевіряє шлях до файлу і, за необхідності, оновлює файл .gitconfig (складний, безладний і майже напевно Неправильний спосіб зробити - плюс, я б не мав перший підказка, як це зробити!)
Я перевірив це питання , яке, схоже, містить рішення лише для одного репозиторію, а не для кількох. Сподіваємось, хтось побачить це питання, хто його пропустив!
--globalналаштування користувача повинні містити будь-яку особу, яку ви більше використовуєте. Кожне сховище, яке повинно використовувати іншу ідентифікацію, повинно матиuser.nameтаuser.emailвстановлювати відповідно.