Agregar files a Git en un directory ignorado

Estoy tratando de include un par de files que están en un directory ignorado, pero obtengo lo siguiente. ¿Cómo los incluyo? Gracias

[[email protected] bidjunction]$ git add html/about-us.html The following paths are ignonetworking by one of your .gitignore files: html/about-us.html Use -f if you really want to add them. fatal: no files added [[email protected] bidjunction]$ 

Mi file .gitignore

 [[email protected] bidjunction]$ cat .gitignore /html/ /ayb_cache/ /ayb_resources/ #Some cache files in the main application /ayb_application/lib/plugins/tinymce_plugins/imageManager/cache/ /ayb_application/lib/plugins/tinymce_plugins/image_purchased/cache/ /ayb_application/lib/plugins_3rd/tinymce_4.0.6/plugins/image/cache/ # Temp files often created by editors *.~ # Track some files in html directory !/html/css/ !/html/images/ !/html/scripts/ !/html/about-us.html !/html/corporate.php !/html/index.html !/html/muse_manifest.xml !/html/terms-and-conditions.html [[email protected] bidjunction]$ 

Shawn Balestracci mencionó (en los comentarios ) " .gitignore exclude folder pero incluye una subcarpeta específica ", que ilustró lo que mencioné en esta respuesta :

No es posible volver a include un file si se excluye un directory principal de ese file. ( * )
( * : a less que se cumplan ciertas condiciones en git 2.?, ver a continuación)

(Un post presentado con git 1.9.x )

Si excluye html/* , está excluyendo contenido, no la carpeta en sí, permitiendo que se apliquen las reglas !xxx .

Tenga en count que para verificar en todo momento por qué se ignora un file en particular, puede escribir:

 git check-ignore -v -- html/about-us.html 

Eso le dará la línea exacta de su file .gitignore que es la causa de que su git add no funcione.


Tenga en count que con git 2.9.x / 2.10 (¿a mediados de 2016?), Es posible volver a include un file si se excluye un directory padre de ese file si no hay ningún comodín en la ruta reincorporada .

Nguyễn Thái Ngọc Duy ( pclouds ) está intentando agregar esta característica:

  • commit 506d8f1 para git v2.7.0, revertido en commit 76b620d git v2.8.0-rc0
  • commit 5e57f9c git v2.8.0-rc0, … revertido (!) en commit 5cee3493 git 2.8.0-rc4.

En tu caso, lo que podría funcionar (con git 2.?+) sería:

 /html !/html/css !/html/images !/html/scripts !/html/about-us.html !/html/corporate.php !/html/index.html !/html/muse_manifest.xml !/html/terms-and-conditions.html