Aquesta és una revisió antiga del document
Git (libro Amazon)
uso básico
configuración inicial
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
iniciando repositorio
git initgit clone <http|https|ssh>git config –list: en el directorio del repositorio te da info sobre el mismo
trabajando con Git
- Directorio de trabajo → Index → Head
git statusgit addgit add -u: añade al Index los archivos que deben ser borradosgit add -A= git add -u & git add .
git commitgit commit -m «<COMENTARIO>»git commit -a: git add -A & git commit
sincronizando repositorios
git clonegit 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 merge- ALIAS por defecto es origin
- RAMA pode defecto es master
git push <ALIAS> <RAMA>- hemos de estar al día en nuestro respositorio local para poder hacer un push
- comportamiento por defecto v2.x : simple en lugar de matching
- simple: solo sube rama activa a la rama de la que has hecho pull, si no tiene el mismo nombre da error
- matching: sube todas las ramas, si no existe la crea
- current: sube los cambios de la rama activa a la rama del mismo nombre, si no existe, se crea
- nothing: test/debug
- upstream : idem simple pero no da error si tiene otro nombre
.gitignore
viendo el historial
git log- parámetros:
-#_entradas–oneline-p: más detalle, con diff–graph
borrado de archivos
git rm <ARCHIVO>: borra archivo + borra archivo del Indexgit rm –cached <ARCHIVO>: borra solo del Indexgit reset HEAD <ARCHIVO>: idem anterior
arrepentimientos
rehacer un commit
git commit –amend: si no hay modificación de archivos (no has modificado en Index), edita el comentario- si has olvidado algún archivo, lo añades y ejecutas la instrucció anterior
deshacer cambios de un archivo
git checkout – <ARCHIVO>: deshace los cambios que has hecho, lo recupera del HEAD
volviendo al pasado
git reset –hard <HASH_COMMIT>:- deshace commits posteriores al indicado
- recupera los archivos del commit indicado
- DESAPARECEN TODOS LOS CAMBIOS POSTERIORES
- se recomienda hacer un PUSH o ejecutarlo sobre otra rama
resolviendo conflictos
- hay commits posteriores en tu rama, error al hacer push
- hacer pull
- resolver conlictos, si los hubiese (primero aparece lo tuyo, entre <<<<< y ==== y lo que hay en el remoto está entre ===== y >>>>>>
- hacer push
viendo/recuperando archivos antiguos
git show <HASH_COMMIT>git show <HASH_COMMIT>:path/to/filegit show <HASH_COMMIT>:path/to/file > archivo_copia