git config –global user.name <nombre>
git config –global user.email <email>
git config –global core.editor <EDITOR>
git condig –global push.default {matching|simple|current|nothing}
: ver sincronizando directoriosgit config –global core.excludesFile <FILE>
: fichero global de exclusión de ficherosgit config –list
git init
git clone <http|https|ssh>
git config –list
: en el directorio del repositorio te da info sobre el mismogit status
git add
git add -u
: añade al Index los archivos que deben ser borradosgit add -A
= git add -u & git add .git commit
git commit -m «<COMENTARIO>»
git commit -a
: git add -A & git commitgit clone
git remote -v[vv]
: lista información de los repositorios remotosgit remote add <ALIAS> <DIRECCION_REPOSITORIO>
git remote rm <ALIAS>
git remote rename <ALIAS> <NUEVO_ALIAS>
git pull <ALIAS> <RAMA>
git pull
= git fetch & git mergegit push <ALIAS> <RAMA>
git log
-#_entradas
–oneline
-p
: más detalle, con diff–graph
git rm <ARCHIVO>
: borra archivo + borra archivo del Indexgit rm –cached <ARCHIVO>
: borra solo del Indexgit reset HEAD <ARCHIVO>
: idem anteriorgit commit –amend
: si no hay modificación de archivos (no has modificado en Index), edita el comentariogit checkout – <ARCHIVO>
: deshace los cambios que has hecho, lo recupera del HEADgit reset –hard <HASH_COMMIT>
:git show <HASH_COMMIT>
git show <HASH_COMMIT>:path/to/file
git show <HASH_COMMIT>:path/to/file > archivo_copia
no hay reglas de como organizar tu trabajo, aunque si que hay reglas de como NO hacerlo… se ha de organizar para que el trabajo de los otros no te distraiga
README.md
: fichero mostrado en la página principal de Github. Explicar en pocas palabras de que va el proyecto, como instalarlo, prerrequisitos, licencia, navegación por el repositorioINSTALL.md
: instrucciones detalladas de instsalación.gitignore
LICENSE
TODO
git submodule add <URL_REPOSITORIO> <DIRECTORIO>
+ cd <DIRECTORIO>
+ git submodule init
+ git submodule update
+ git pull
Una rama es un nombre a un commit específico y todos los commits que son antecesores del mismo
git tag <etiqueta>
: crea etiqueta, asociada a un commit, para marcar algún tipo de hito. De caracter localgit tag -a <etiqueta>
: añade una nota desde editor, o -m «comentario» inlinegit show <etiqueta>
: mostrará la notagit tag
git describe
: indica el camino desde la última etiqueta a un commit concretogit push –tags
git checkout -b <RAMA>
: git branch <RAMA> + git checkout <RAMA>git stash
: almacen temporalgit stash apply –index
git push –set-upstream <ALIAS_REMOTO> <RAMA>
git branch
nos indica las ramas y en la que estamos (marcada con un *)git branch –all
nos muestra todas las ramasgit checkout <RAMA_QUE_RECIBIRÁ_LA_FUSION>
git pull <ALIAS_REMOTE> <RAMA_QUE SE FUSIONARÁ
git branch -d <RAMA_MUERTA>
: en localgit push <ALIAS_REMOTE> :<RAMA_MUERTA>
: actualizar el borrado en el repositorio remotogit checkout <ARCHIVO>
: recupera desde master (por defecto) el fichero a la rama actualreescritura de historia (OJO con los push/pull)
git log –pretty=short
: resumen de commits, autores, fechas…git blame
: cambios a nivel de ficheroganchos o eventos que se activan cuando se produce alguna acción → petición REST (debidamente formada)
/usr/share/git-core/templates/
y se puede modificar.git/info/exclude
→ idem .gitignore pero solo afecta a la copia local.git/objects
: estructura directorios con los objetos gitgit show
para mostrar cualquier tipo de objeto git (BLOB,ARBOL,COMMIT).git/refs
guarda referencias a los objetosgit show master^{tree}
: se usa ^ para qualificar aquello que le precede, aunque solo hay {tree}git show master~1
: ~1 indica el ancestro justo anteriorgit show master~4^{tree}
git ls-tree <commit>
: muestra la información de .git/objects de una manera más ordenada e indicando el tipo de objeto-r
: añade el nombre de ficherogit ls-files –stage
: muestra los archivos que se han añadido al índice pero no se han pasado al árbolgit cat-file -p <objeto>
: nos muestra el contenido de un objetogit diff
: muestra las diferencias entre el Index y el último commit–name-only
name-status
: muestra 1 letra con el tipo de cambio (A,D,M)–cached
: muestra la diferencias entre el Index y los ficheros que han sido preparados para el commitgit diff HEAD
: diferencias entre el último commit y la Working Areagit diff-index HEAD
: compara el índice con algún árbolgit diff-tree HEAD
git var -l
: listado de todas las variables disponibles definidasgit var <variable>
git config -l
ofrece el mismo resultadogit rev-parse –verify HEAD
: muestra el SHA1 del HEAD verificando que existegit rev-parse HEAD@{1.month}
: retorna SHA1 de commit de hace 1 mescomprueba si el nombre de usuario está en el mensaje de commit y si no, lo añade
#|/bin/bash SOB=$(git config github.user) grep -qs "^$SOB" "$1" || echo ". Cambio por @SOB" >> "$1"
añade información al commit:
#!/bin/sh #Recuerda hacer # cp prepare-commit-msg.ejemplo prepare-commit-msg # chmod +x prepare-commit-msg STATS=$(git diff --cached --shortstat) echo ". Cambios en este commit\n ${STATS}" >> "$1"