Control De Versiones Flashcards
En qué consiste Control de versiones
Software con base de datos para que se guarde de manera unificada el código de aplicaciones
Control de versiones centralizados
Los Sistemas Centralizados: todo se sube a un sólo servidor.
- CVS
- Subversion (SVN)
- TortoiseSVN (Cliente)
- TFS/SourceSafe
Control de versiones distribuidos
- Git
- Mercurial
- Bazaar
- Dares
- BitKeeper
Qué es GIT
Es un sistema distribuido (2 repos) de control de versiones, creado por Linus Torvalds para el desarrollo del kernel de Linux.
- Sistema de ramas y mezclas
- Compatible con HTTPs y SSH
- Uso de criptografía SHA-1 sobre objects
En qué casos se crean ramas en GIT
Fix y Features, por ejemplo (cosas complejas)
En qué consiste la rama releases
Es una rama donde se encuentran las versiones finales de tu código (la foto de tu rama master, rama features o fix que pueden haber, etc)
Protocolos de comunicaciones para trabajar con GIT
Local +
- HTTPs
- SSH
- Git Protocol
Qué peculiaridad tiene GIT en cuanto a sus objetos
A todos los objetos se les hace un HASH: SHA-1
Objetos: tree (árbol de directorios), blood (fichero), commit (foto), tag (etiqueta foto del repositorio)
Qué dos modalidades hay en GIT
Como se llama la rama principal en SVN
Trunk
Como se llama la rama principal en GIT
Master y últimamente se usa más Main
Comando para crear un directorio oculto .git
git init
Qué es el Staging Area en GIT
Es un área temporal, al que, enviamos desde el Working Tree, ficheros, de manera temporal, que se pueden consolidar después enviándolos al Local Repository, haciendo que esos cambios sean firmes.
Comando para preguntar estado del repositorio en GIT
git status
Si indica qué los ficheros que ve están sin seguimiento, es porque están en workspace. Cuando esté en staging (cambios para ser confirmados) o en local repository (nada para hacer commit)
Comando para mandar al staging los fichero desde workspace
git add/mv/rm .
Comando para mandar los ficheros del staging al local repository (consolidar fichero)
git commit -m “mensaje”
Comando para pasar ficheros de workspace a local repository (sin pasar por staging)
git commit -a
Para excluir ficheros con extensión .doc, por ejemplo
Se crea un fichero llamado .gitignore:
vi .gitignore
Dentro ponemos .doc
No aparecerá el .doc para ser enviado al staging, pero sí el .gitignore
Comando para ver el historial que muestra los commits con sus códigos hash
git log
Trabajar con ramas a nivel de comandos
- crear la rama primero y moverte
git branch (crear rama) nombre_rama + git checkout (movernos a otra rama) nombre_rama - crear la rama y moverte, todo en uno
git checkout -b nombre_rama
Comando para ver/crear una etiquetas en GIT
git tag
Comando que modifica la estructura de la historia de los commit
Comando peligroso que Mercurial eliminó
git rebase
Comando para fusionar ramas
git merge
Comandos para deshacer en GIT
- git reset –hard : del local repository a la basura (sin pasar por workspace)
- git reset –soft : del local repository al staging
- git reset –mixed : del local repository al workspace