Як встановити кілька `core.excludesfile` в` .gitconfig`?


13

Я синхронізація ~/.gitconfigі ~/.gitignoreфайли в Ubuntu і Mac за допомогою Dropbox і створили символічне посилання на нього.

І excludesfileдекларується так.

[core]
        editor = /usr/bin/vim
        excludesfile = /Users/username/.gitignore

Проблема полягає в тому, що домашній каталог відрізняється від os, тому мені потрібно кілька налаштувань для файлу exceesfile.

Чи можна визначити кратні core.excludesfile?

Відповіді:


17

Ви можете мати лише одного core.excludesfile; останнє налаштування - це те, що використовується. Однак вам не потрібно декілька файлів: git підтримує ~як абревіатуру для вашого домашнього каталогу.

[core]
    excludesfile = ~/.gitignore

Загалом, якщо вам дійсно потрібно було мати декілька файлів, що виключають, найпростішим рішенням було б генерувати один файл, який є об'єднанням інших, та оновлювати його щоразу, коли один із файлів змінюється.


Моя .gitconfigфактично знаходиться під контролем версій від git. На жаль, git розширюється ~як повний шлях до $HOMEта оновлює .gitconfigсебе абсолютним шляхом. Така поведінка чудова, але потім вона проявляється як нестандартна зміна, тому я використовую git update-index --assume-unchanged .gitconfigдля ігнорування розширення (разом із рештою файлу).
Дельф

2
@Dolph status-norepro Що ви зробили, щоб ~зробити це розширеним? Я отримую: git config --global core.excludesfile '~/.gitignore'; git config --global core.excludesfile~/.gitignore(git 1.7.9.5)
'SO- перестань бути злим'

1
@Dolph Швидше за все це було розширення оболонки; зрештою, якщо ви це зробите, git config --global core.excludesfile ~/.gitignoreте, що насправді є запуском, це git config --global core.excludesfile /path/to/home/.gitignore.
Радон Росборо

1
@Gilles, також зауважте , що файл git-scm , ~/.config/git/ignoreякщо він існує, глобально ігнорується автоматично, без глобальної конфігурації.
Акумен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.