Tengo un repositorio de Bitbucket Git administrado con Sourcetree.
Tengo dos carpetas que quiero confirmar, pero necesito ignorar todos los archivos en estas carpetas, porque contienen solo archivos temporales.
¿Cómo puedo hacer eso?
Tengo un repositorio de Bitbucket Git administrado con Sourcetree.
Tengo dos carpetas que quiero confirmar, pero necesito ignorar todos los archivos en estas carpetas, porque contienen solo archivos temporales.
¿Cómo puedo hacer eso?
Respuestas:
Agregue esto a .gitignore:
*
!.gitignore
.gitginore
es un archivo normal, simplemente créelo en el directorio cuyo contenido desea ignorar.
Para los usuarios de Sourcetree: Si desea ignorar una carpeta específica, simplemente seleccione un archivo de esta carpeta, haga clic derecho sobre él y haga "Ignorar ...". Tendrá un menú emergente donde puede ignorar "Ignorar todo lo que hay debajo: <SU CARPETA NO DESEADA>"
Si tiene la opción "Ignorar" en gris, debe seleccionar la opción "Detener seguimiento". Después de eso, el archivo se agregará a los archivos en etapas con un signo menos en el icono de fondo rojo y el icono del archivo en la lista de archivos sin etapas cambiará a un signo de pregunta sobre un fondo violeta. Ahora, en la lista de archivos sin etapas , la opción "Ignorar" está habilitada nuevamente. Simplemente haz lo que se describe arriba.
Hasta donde yo sé, Git no rastrea carpetas, solo archivos, por lo que las carpetas vacías (o carpetas donde se ignoran todos los archivos) no se pueden confirmar. Si, por ejemplo, necesita que la carpeta esté presente debido a algún paso en su proceso de construcción, ¿quizás pueda hacer que su herramienta de construcción la cree en su lugar? O puede poner un archivo vacío y no ignorado en la carpeta y enviarlo.
Después de golpearme la cabeza con esto durante al menos una hora, ofrezco esta respuesta para tratar de ampliar los comentarios que otros han hecho. Para ignorar una carpeta / directorio, haga lo siguiente: si no tiene un archivo .gitignore en la raíz de su proyecto (ese nombre es exactamente ".gitignore"), cree un archivo de texto ficticio en la carpeta que desea excluir. Dentro del Árbol de fuentes, haga clic derecho sobre él y seleccione Ignorar. Obtendrá una ventana emergente que se ve así.
Seleccione "Todo lo que hay debajo" y seleccione la carpeta que desea ignorar de la lista desplegable. Esto creará un archivo .gitignore en su directorio raíz y colocará la especificación de la carpeta en él.
Si ya tiene una carpeta .gitignore en su carpeta raíz, puede seguir el mismo enfoque anterior, o simplemente puede editar el archivo .gitignore y agregar la carpeta que desea excluir. Es solo un archivo de texto. Tenga en cuenta que utiliza barras diagonales en los nombres de las rutas en lugar de barras invertidas, como estamos acostumbrados los usuarios de Windows. Intenté crear un archivo de texto .gitignore a mano en el Explorador de Windows, pero no me permitió crear un archivo sin un nombre (es decir, con solo la extensión).
Tenga en cuenta que agregar el .gitignore y la especificación del archivo no tendrá ningún efecto en los archivos que ya se están rastreando. Si ya los está rastreando, tendrá que dejar de rastrearlos. (Haga clic con el botón derecho en la carpeta o el archivo y seleccione Detener seguimiento). Luego, verá que cambian de un icono verde / limpio o ámbar / cambiado a un icono rojo / eliminado. En su próxima confirmación, los archivos se eliminarán del repositorio y, a partir de entonces, aparecerán con un icono azul / ignorado. Otro colaborador preguntó por qué estaba deshabilitado Ignorar para archivos particulares y creo que era porque estaba tratando de ignorar un archivo que ya estaba siendo rastreado. Solo puede ignorar un archivo que tenga un icono de signo de interrogación azul.
Como han mencionado otros: git no rastrea carpetas, solo archivos.
Puede asegurarse de que existe una carpeta con estos comandos (o lógica equivalente):
echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"
La existencia del archivo significará que cualquier persona que consulte el repositorio tendrá la carpeta.
El contenido del archivo gitignore significará que cualquier cosa en él se ignorará
No es necesario que no ignore el archivo .gitignore en sí . Es una regla que no serviría para nada una vez que se aplica.
O
si prefiere mantener todas sus definiciones ignoradas en el mismo lugar, puede crear .gitignore en la raíz de su proyecto con contenidos como este:
*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder
y para asegurar que las carpetas existan
touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"
"cualquier cosa" puede ser literalmente cualquier cosa. Los nombres usados comúnmente son .gitignore, .gitkeep, vacío.
Ignore la carpeta completa en el árbol de origen.
Just Open Repository >Repository setting > Edit git ignore File and
you can rite some thing like this :
*.pdb
*.bak
*.dll
*.lib
.gitignore
packages/
*/bin/
*/obj/
Para la carpeta bin y la carpeta obj simplemente escriba: * / bin / * / obj /
En Sourcetree: simplemente ignore un archivo en la carpeta especificada. Sourcetree le preguntará si desea ignorar todos los archivos en esa carpeta. ¡Es perfecto!
*
medios ignoran todos los archivos y los!.gitignore
medios no ignoran el archivo en sí