Guía rápida
Las referencias
Las referencias son muy utilizadas en un sistema de versiones. Una referencia es un nombre al que se asocia un commit. Es un acceso directo. Por ejemplo, es más simple llamar a una rama pagina_acerca que llamarla 2f1eaabf11daa32AE274b2775d2FB3b7a28c842f.
1. HEAD
Esta referencia apunta al commit más reciente de la rama actual. Es decir, que para cada nuevo commit y cada cambio de rama esta referencia se actualiza para apuntar al commit más reciente. Esta referencia siempre está presente al usar Git.
2. Las ramas
Las ramas no son en realidad otra cosa que referencias. En otras palabras, una rama es un nombre que apunta hacia el commit más reciente de la rama. Lo que muchos desarrolladores llaman «estar en una rama» significa que el puntero de la rama apunta al mismo commit que HEAD. Esto significa también que, después de haber efectuado un nuevo commit, el puntero de la rama señalará al nuevo commit.
3. Los tags (etiquetas)
Los tags son referencias estáticas, es decir que un desarrollador añadirá un tag para servir de atajo con el fin de apuntar a un commit particular. La principal diferencia de los tags con respecto a las ramas es que estos no cambian. Si un desarrollador no modifica el tag de forma explícita, este señalará siempre al mismo commit sin que las modificaciones introducidas en el histórico tengan el menor efecto sobre este tag....
Los comandos
Esta sección lista una parte de los comandos de Git y sus argumentos útiles. Esta lista no es exhaustiva con el fin de servir a diario para el desarrollador sin que haya necesidad de consultar la extensa (pero exhaustiva) documentación oficial.
Esta lista también permite al lector conocer rápidamente la utilidad y las posibilidades de un comando durante la lectura de este libro.
Los comandos se listan en orden alfabético. Los argumentos se listan por orden de aparición, excepto los argumentos llamados (los definidos explícitamente de tipo --dry-run).
1. git add
Este comando permite añadir un archivo en el índice con el fin de realizar un commit.
Argumentos
<ruta_archivo>: permite añadir un archivo en el índice.
-A o --all: permite añadir todos los archivos (excepto aquellos ignorados) en el índice.
-i o --interactive: permite iniciar el modo interactivo de adición de archivos.
-n o --dry-run: permite ejecutar el comando sin añadir archivo. Permite visualizar los archivos que se añadirían si el argumento no fuera utilizado.
--ignore-errors: permite seguir añadiendo archivos incluso cuando se produce un error . Este comando es útil cuando se añaden muchos archivos con el comando git add.
Ejemplos
git add README
git add --all --dry-run
2. git archive
Este comando permite crear un archivo de contenido del repositorio.
Argumentos
<commit>: define el commit a partir del cual realizar la exportación.
--format=<format>: define el formato de archivo (zip o tar).
-l o --list: lista los formatos disponibles.
Ejemplo
git archive --format zip --output export.zip master
3. git bisect
Este comando permite realizar una búsqueda dicotómica en el histórico de los commits para conocer el commit que añadió un comportamiento particular. En muchos casos, este comando se utiliza cuando se ha añadido una regresión hace algún tiempo.
Argumentos
start: permite iniciar el modo bisect.
bad <commit>: permite definir el commit como incorrecto.
good <commit>: permite definir el commit como correcto.
reset: permet salir del modo bisect. Devuelve el directorio de trabajo a HEAD.
run <command>: permite ejecutar git bisect en modo automático en función de un comando.
Ejemplos
git bisect start
git bisect...