.GITIGNORE
NSCODER MEXICO

17/FEBRERO/2016
Que archivos no necesito en mi repositorio
Victor Soto

hello@victorso.to

@iostronauta
IGNORAR ARCHIVOS EN UN REPOSITORIO GIT
¿POR QUÉ ES IMPORTANTE NO INCLUIR CIERTOS ARCHIVOS?
▸ Pueden contener passwords/información delicada (¡top
secret!).
▸ Pueden ser archivos de configuración/sesión que son
dependientes de la máquina en la que se está utilizando el
repositorio.
▸ Pueden ser archivos temporales o logs que no son
necesarios.
▸ Simplemente no los necesitas (.DS_Store, ~).
EL ARCHIVO .GITIGNORE
¿CÓMO LO UTILIZO EN MI REPOSITORIO?
1. Crea el archivo con tu comando o editor favorito en tu
carpeta que contiene el repositorio (touch .gitignore).
2. Agrega las reglas para excluir los archivos que no
necesitas.
3. Incluye el archivo .gitignore a tu staging area (git add).
4. Haz commit de tus cambios (git commit).
5. Enjoy.
😏
REGLAS
¿CUÁLES SON LAS REGLAS?
‣ Líneas en blanco o que inicien con # son ignoradas en el
archivo.
😥
# Es un comentario y no se incluye
Ejemplo:
REGLAS
‣ Los patrones glob* estándar funcionan.

(* Especifican conjuntos de nombres de archivo con caracteres comodín).
# * = Todas las coincidencias o ninguna
# Excluir todos los archivos con extensión .mm
*.mm
# ? = Coincidencia de cualquier caracter
# Cat, Bat, Rat
?at
# [abc] = Coincidencia de un caracter dentro de []
# Cat, Bat
[cb]at
# [a-z] = Coincidencia de un caracter dentro del rango
en []
# File0, File1, File2
File[0-9]
Ejemplo:
REGLAS
‣ Puedes terminar patrones con / para especificar un directorio.
# fastlane
fastlane/screenshots/
# Build generated
build/
# Cocoa pods
Pods/
# Carthage
Carthage/
Ejemplo:
REGLAS
‣ Puedes negar un patrón con !
# Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
Ejemplo:
PRO TIP
¿QUÉ PASA CON LOS ARCHIVOS QUE YA TENGO AGREGADOS EN
MI REPOSITORIO Y QUIERO IGNORAR?
git rm —cached
git add .
‣ Primero hay que dejar de hacer track del archivo. 🤓
HERRAMIENTAS Y SITIOS DE AYUDA
▸ https://www.gitignore.io
▸ https://github.com/github/gitignore
¡Incluso Github ya genera el archivo si lo requieres! 👊
PERO, ¿YA HAY EJEMPLOS Y REFERENCIAS?
¡Claro!😎
REFERENCIAS
QUIERO SABER MÁS
▸ Pro Git Book: http://git-scm.com/book/en/v2/Git-Basics-
Recording-Changes-to-the-Repository#Ignoring-Files
▸ Github: https://help.github.com/articles/ignoring-files/
▸ Documentación Oficial Git: http://git-scm.com/docs/gitignore
‣ *Patrones Glob: https://en.wikipedia.org/wiki/
Glob_(programming)
DEMO TIME
¡GRACIAS!
Victor Soto

hello@victorso.to

@iostronauta

http://www.initialcommit.online
www.nscodersmexico.com

http://www.meetup.com/NSCoderMexico/

http://twitter.com/NSCoderMexico

https://www.facebook.com/nscodermexico/

Gitignore

  • 1.
    .GITIGNORE NSCODER MEXICO
 17/FEBRERO/2016 Que archivosno necesito en mi repositorio Victor Soto
 hello@victorso.to
 @iostronauta
  • 2.
    IGNORAR ARCHIVOS ENUN REPOSITORIO GIT ¿POR QUÉ ES IMPORTANTE NO INCLUIR CIERTOS ARCHIVOS? ▸ Pueden contener passwords/información delicada (¡top secret!). ▸ Pueden ser archivos de configuración/sesión que son dependientes de la máquina en la que se está utilizando el repositorio. ▸ Pueden ser archivos temporales o logs que no son necesarios. ▸ Simplemente no los necesitas (.DS_Store, ~).
  • 3.
    EL ARCHIVO .GITIGNORE ¿CÓMOLO UTILIZO EN MI REPOSITORIO? 1. Crea el archivo con tu comando o editor favorito en tu carpeta que contiene el repositorio (touch .gitignore). 2. Agrega las reglas para excluir los archivos que no necesitas. 3. Incluye el archivo .gitignore a tu staging area (git add). 4. Haz commit de tus cambios (git commit). 5. Enjoy. 😏
  • 4.
    REGLAS ¿CUÁLES SON LASREGLAS? ‣ Líneas en blanco o que inicien con # son ignoradas en el archivo. 😥 # Es un comentario y no se incluye Ejemplo:
  • 5.
    REGLAS ‣ Los patronesglob* estándar funcionan.
 (* Especifican conjuntos de nombres de archivo con caracteres comodín). # * = Todas las coincidencias o ninguna # Excluir todos los archivos con extensión .mm *.mm # ? = Coincidencia de cualquier caracter # Cat, Bat, Rat ?at # [abc] = Coincidencia de un caracter dentro de [] # Cat, Bat [cb]at # [a-z] = Coincidencia de un caracter dentro del rango en [] # File0, File1, File2 File[0-9] Ejemplo:
  • 6.
    REGLAS ‣ Puedes terminarpatrones con / para especificar un directorio. # fastlane fastlane/screenshots/ # Build generated build/ # Cocoa pods Pods/ # Carthage Carthage/ Ejemplo:
  • 7.
    REGLAS ‣ Puedes negarun patrón con ! # Various settings *.pbxuser !default.pbxuser *.mode1v3 !default.mode1v3 *.mode2v3 !default.mode2v3 *.perspectivev3 !default.perspectivev3 xcuserdata Ejemplo:
  • 8.
    PRO TIP ¿QUÉ PASACON LOS ARCHIVOS QUE YA TENGO AGREGADOS EN MI REPOSITORIO Y QUIERO IGNORAR? git rm —cached git add . ‣ Primero hay que dejar de hacer track del archivo. 🤓
  • 9.
    HERRAMIENTAS Y SITIOSDE AYUDA ▸ https://www.gitignore.io ▸ https://github.com/github/gitignore ¡Incluso Github ya genera el archivo si lo requieres! 👊 PERO, ¿YA HAY EJEMPLOS Y REFERENCIAS? ¡Claro!😎
  • 10.
    REFERENCIAS QUIERO SABER MÁS ▸Pro Git Book: http://git-scm.com/book/en/v2/Git-Basics- Recording-Changes-to-the-Repository#Ignoring-Files ▸ Github: https://help.github.com/articles/ignoring-files/ ▸ Documentación Oficial Git: http://git-scm.com/docs/gitignore ‣ *Patrones Glob: https://en.wikipedia.org/wiki/ Glob_(programming)
  • 11.
  • 12.