Pregunta

Tengo un repositorio de git de bitbucket gestionado con Sourcetree.

Tengo dos carpetas que quiero comprometer, pero necesito ignorar todos los archivos en estas carpetas, porque solo contienen archivos temporales.

¿Cómo puedo hacer eso?

¿Fue útil?

Solución

Añadir esto a .gitignore:

*
!.gitignore

Otros consejos

Para usuarios de SourceTree: Si desea ignorar una carpeta específica, simplemente seleccione un archivo de esta carpeta, haga clic con el botón derecho en él y haga "Ignorar ...".Tendrá un menú emergente donde pueda ignorar "Ignorarlo todo debajo: "

primer menú

segundo menú

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 organizados con un signo menos en el icono de fondo rojo y el ícono del archivo en la lista de archivos inestables cambiará a un signo de pregunta en un fondo violeta.Ahora, en la lista inestaged Files , la opción "Ignorar" está habilitada nuevamente.Solo haz lo descrito anteriormente.

Haga clic derecho en un archivo → ignore ignore todo debajo de .

Si la opción ignore está en gris,

  1. Etapa de un archivo primero
  2. Haga clic con el botón derecho → Detener el seguimiento
  3. que aparecerá ese archivo en el panel a continuación con un signo de interrogación → Haga clic con el botón derecho en él → ignorar

     ingrese la descripción de la imagen aquí

Por lo que sé, Git no rastrea las carpetas, solo los archivos, por lo que las carpetas vacías (o las carpetas donde se ignoran todos los archivos) no se pueden comprometer.Si usted es, por ejemplo.¿Necesita que la carpeta esté presente debido a algún paso en su proceso de compilación, quizás pueda hacer que su herramienta de compilación lo cree?O podría poner un archivo vacío, sin serignado en la carpeta y comprometerla.

Después de vencer la cabeza sobre esto durante al menos una hora, ofrezco esta respuesta para intentar expandir los comentarios que otros han hecho otros. Para ignorar una carpeta / directorio, haga lo siguiente: Si no tiene un archivo .gitignore en la raíz de su proyecto (ese nombre ".gitignore"), cree un archivo de texto ficticio en la carpeta que desea excluir. Dentro del árbol de origen, haga clic con el botón derecho en él y seleccione Ignorar. Tendrás una ventana emergente que se ve así.

 ingrese la descripción de la imagen aquí

Seleccione "Todo debajo" y seleccione la carpeta que desea ignorar en la lista desplegable. Esto creará un archivo .gitignore en su directorio raíz y coloque la especificación de la carpeta.

Si tiene una carpeta .gitignore ya en su carpeta raíz, podría 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 recortes directos en nombres de ruta en lugar de barras invertidas, a medida que los usuarios de Windows están acostumbrados. 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á efecto en los archivos que ya se están siguiendo. Si ya está siguiendo estos, tendrá que dejar de rastrearlos. (Haga clic con el botón derecho en la carpeta o en el archivo y seleccione Detener el seguimiento). Luego, los verá cambiarse de tener un icono de verde / limpio o ámbar / modificado a un icono rojo / eliminado. En su próximo comité, los archivos se eliminarán del repositorio y, posteriormente, aparecerán con un icono azul / ignorado. Otro contribuyente preguntó por qué Ignorar fue deshabilitado para archivos particulares y creo que fue 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 se mencionó por otros: Git no rastreando carpetas, solo archivos.

Puede asegurarse de que exista 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 revise el repositorio tenga la carpeta.

Los contenidos del archivo Gitignore significarán cualquier cosa en ella se ignore

No lo hace Necesito no ignorar el .gitignorearchivo en sí .Es una regla que no serviría ningún propósito en absoluto cometido.

o

Si prefiere mantener todas sus definiciones ignoradas en el mismo lugar, puede crear .gitignore en la raíz de su proyecto con contenido así:

*.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 comunes son .gitignore, .gitkeep, vacío.

Si su opción está en gris, debe dejar de rastrear el archivo antes de que pueda ignorarlo.Simplemente, puede hacer clic derecho en el archivo y presionar "Detener el seguimiento".

Un icono azul debe aparecer junto a él.Haga clic derecho en él nuevamente y haga clic en Ignorar.

ignorar 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 solo escribe: * / bin / * / obj /

en Sourcetree: simplemente ignore un archivo en la carpeta específica.Sourcetree le preguntará si le gusta ignorar todos los archivos en esa carpeta.¡Es perfecto!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top