Я хочу отслеживать только определенные каталоги в git в более крупном проекте, где большинство каталогов будут исключены, и только некоторые из них будут отслеживаться. Итак, я хотел использовать не-операторы в моем .gitignore или исключая файл, ja?
Почему это происходит:
% mkdir wtfgit
% cd wtfgit
% git init
Initialized empty Git repository in /home/foobar/wtfgit/.git/
% mkdir iwantthesefiles
% touch iwantthesefiles/foo
% mkdir idontwantthesefiles
% touch idontwantthesefiles/bar
% vim .gitignore
% cat .gitignore
*
!iwantthesefiles/
% git add --all
% git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
Синтаксис "не" отлично работает для файлов в самом высоком каталоге.
% touch baz
% vim .gitignore
% cat .gitignore
*
!iwantthesefiles/
!baz
% git add --all
% git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: baz
#
Как я могу получить это, чтобы дать мне baz и foo в качестве git отслеживаемых файлов? (В принципе, как работает каталоги НЕ-стиля?) Кажется, это не так.)
Спасибо!