Я всегда зацикливаюсь на этом, даже после того, как много раз возвращался к этому вопросу.Я придумал подробный процесс, делающий это шаг за шагом:
Сначала просто используйте git add
, чтобы добавить фактический контент.
Он покажет соответствующие файлы, добавленные в индекс, в то время как все остальные еще не отслежены.Это помогает создавать .gitignore
шаг за шагом.
$ git add wp-content/themes/my-theme/*
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-admin/
wp-content/plugins/
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
...
wp-includes/
...
Добавить временный файл DUMMY.TXT
в ваш каталог:
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-admin/
wp-content/plugins/
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
...
wp-content/themes/my-theme/DUMMY.TXT <<<
...
wp-includes/
...
Теперь наша цель - создать правила, которыеDUMMY.TXT
будет единственным, который все еще будет отображаться как неотслеживаемый, когда мы закончим.
Начните добавлять правила:
.gitignore
/*
Первыйпросто игнорировать все.Все неотслеживаемые файлы должны быть удалены, должны отображаться только проиндексированные файлы:
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Добавить первый каталог в путь wp-content
/*
!/wp-content
Теперь неотслеживаемые файлы будут отображаться снова, но содержит только wp-content
содержимое
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-content/plugins/
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
..
Игнорировать все в первом каталоге /wp-content/*
и игнорировать !/wp-content/themes
/*
!/wp-content
/wp-content/*
!/wp-content/themes
Теперь неотслеживаемые файлы будут дальшесузить до wp-content/themes
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
..
Повторять процесс до тех пор, пока этот фиктивный файл не станет единственным, все еще отображаемым как неотслеживаемый:
/*
!/wp-content
/wp-content/*
!/wp-content/themes
/wp-content/themes/*
!/wp-content/themes/my-theme
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-content/themes/my-theme/DUMMY.TXT