Чи є спосіб зрозуміти, чому якийсь файл ігнорується git (тобто яке правило у .gitignore
файлі викликає ігнорування файлу)?
Уявіть, що у мене є такий (або набагато складніший сценарій, із сотнями папок і десятками .gitignore
файлів:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Якщо я запускаю git add folder/subfolder/file.txt
git, то можна поскаржитися на його ігнорування:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
Чи є спосіб дізнатися, яке з усіх можливих .gitignore
має правило ігнорувати цей файл, а також показати це правило? Подібно до:
The following paths are ignored by your folder/.gitignore file (line 12: *.txt)
folder/subfolder/file.txt
Use -f if you really want to add them.
Або просто:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
GIT_TRACE_EXCLUDE=1 git status
незабаром з'явиться додатковий спосіб налагодження .gitignore
правил. Дивіться мою відредаговану відповідь нижче
git check-ignore
незабаром (git1.8.5 / 1.9) з'явиться--no-index
опція. Дивіться мою відповідь нижче