Eu sempre fico preso em algum lugar, mesmo depois de voltar a essa pergunta várias vezes. Eu vim com um processo detalhado de fazer isso passo a passo:
Primeiro basta usar git add
para adicionar o conteúdo real.
Ele mostra os arquivos relevantes adicionados ao índice, enquanto todos os outros ainda não são rastreados. Isso ajuda a construir .gitignore
passo a passo.
$ 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/
...
Adicione um DUMMY.TXT
arquivo temporário ao seu diretório:
$ 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/
...
Nosso objetivo agora é construir as regras para que isso DUMMY.TXT
seja a única que ainda esteja aparecendo como Não rastreada quando terminarmos.
Comece a adicionar as regras:
.gitignore
/*
O primeiro é apenas ignorar tudo. Os arquivos não rastreados devem ter desaparecido, apenas os arquivos indexados devem estar mostrando:
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Adicione o primeiro diretório no caminho wp-content
/*
!/wp-content
Agora, os arquivos não rastreados aparecerão novamente, mas apenas wp-content
o conteúdo
$ 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/
..
Ignore tudo no primeiro diretório /wp-content/*
e não ignore!/wp-content/themes
/*
!/wp-content
/wp-content/*
!/wp-content/themes
Agora, os arquivos não rastreados diminuirão ainda mais para apenas 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/
..
Repita o processo até que o arquivo fictício seja o único ainda exibido como Não rastreado:
/*
!/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
**
curinga funciona apenas se você não tiver barras no seu padrão, consulte sparethought.wordpress.com/2011/07/19/…