Мне нравится держать мой домашний каталог под управлением версии, отслеживать изменения в файлах запуска Bash, различных файлах конфигурации и т. Д. У меня есть файл ~/.gitignore, который игнорирует все , а затем различными линиями, которые говорят Git какие именно файлы я хочу, чтобы отслеживать:Git репозиторий в подкаталоге читает .gitignore из родительского каталога
/*
!.bash*
.bash_history
!.ssh/
.ssh/*
!.ssh/config
Тогда у меня есть несколько Git репозиториев, размещенных в моей домашней директории, скажем, ~/DEV/проект /.
Вот моя проблема. На моем Linux-поле у меня нет проблем с этими двумя репозиториями - они не конфликтуют.
[~/dev/project] $ git init .
Initialized empty Git repository in ~/dev/project/.git/
[~/dev/project] $ touch test
[~/dev/project] $ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
test
nothing added to commit but untracked files present (use "git add" to track)
Но на моем ноутбуке Mac (El Capitan) они конфликтуют. Репо в подкаталоге читает .gitignore из домашней директории, и первое правило, игнорировать все («/ *») прикладывается:
[~/dev/project] $ git init .
Initialized empty Git repository in ~/dev/project/.git/
[~/dev/project] $ touch test
[~/dev/project] $ git status
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)
[~/dev/project] $ mv ~/.gitignore ~/.gitignore.tmp
[~/dev/project] $ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
test
nothing added to commit but untracked files present (use "git add" to track)
Я не могу понять, почему это происходит , Linux box - Debian (стабильный), Git v.2.1.4; El Capitan - Git v. 2.6.2 (последний).