Pasaporte GitHub
Pasaporte GitHub
Registro
Es importante registrarse en Git con las
respectivas credenciales de GitHub usando los
siguientes comandos:
GIT WORKAREAS
Git posee tres áreas de trabajo:
1. El Workspace es donde todos
nuestros archivos se encuentran de
forma local en un equipo.
2. El Stage Area es el intermediario
que enlista todos los cambios
realizados en los archivos que
forman parte del WorkSpace.
3. El Local Repository posee todo el
sistema de versiones de nuestro
proyecto para finalmente poder
alojarse en algún remote determinado.
Cuando se escribe el comando git add, en el Stage Area se registran todos los cambios
realizados en los archivos que forman parte del WorkSpace Local.
Cuando finalmente se realiza un commit, lo que realmente se hace es confirmar todos los
cambios realizados y finalmente se crea un nuevo punto de acceso para el repositorio.
Remotes
Un remote es la conexión entre el repositorio Local (Git) y el repositorio Remoto (GitHub).
Podemos tener tantos remotes que queramos y se añaden de la siguiente manera:
COMANDOS DE LA SECCION
ls/dir: Con este comando podemos ver que archivos hay dentro de una carpeta.
log: Muestra el registro de todos los commits REMOTOS de nuestro proyecto junto a sus
metadatos.
reflog: Muestra el registro de todos los commits LOCALES de nuestro proyecto junto a sus
metadatos. Es de suma importancia este comando ya que se puede acceder a todos los
commits realizados localmente, asi estos hayan sido reseteados o revertidos.
log --oneline: Muestra un registro de todos los commits del repositorio con su nombre y
referencia remota.
revert: Es la herramienta perfecta para poder localizar errores y comparar en tiempo real
las diferencias entre un commit y otro. Este comando devuelve el código que ha sido
cambiado entre el estado actual del programa y un commit específico. Por ejemplo, tengo
tres commits, en donde en el primero el programa funcionaba, pero el ultimo no. Este
comando nos trae de vuelta las modificaciones entre el primer commit y el tercero, para
preguntarnos si nos quedamos o no con ellas.
.gitignore: Es un archivo git que contiene los nombres de los archivos o carpetas que no
queremos que tengan un seguimiento de cambios en nuestro repositorio. Para esto, creo
un archivo .gitignore y escribo el archivo que no quiero que tenga seguimiento. Si quiero
añadir una carpeta, simplemente escribo el nombre de la carpeta entre slashes, por
ejemplo, /carpeta/.
Cuando el archivo YA hace parte del repositorio, debemos REMOVER la referencia del
archivo. Por lo tanto, hay que usar el comando <git rm –cached referencia>. Ya una vez
removido el archivo, lo podemos poner en la lista de archivos ignorados.
reset: Nos permite "eliminar" el registro de commits REMOTOS visibles. Sin embargo,
siempre podremos acceder a cualquier commit usando el comando reflog y accediendo a
la referencia de metadato del commit.
RAMIFICACIONES
Las ramificaciones permiten dividir las tareas de un grupo de desarrollo y permite que cada
integrante pueda trabajar cómodamente y fusionar su trabajo junto a sus compañeros.
Merge
El trabajo que se realice en cada una de las ramas no se va a ver reflejado en la rama máster o
develop si no se fusionan los cambios. Esta acción se llama merge, y toma los dos últimos
commits y los fusiona para agregar todos los cambios a una rama superior.
Tipos de Merge
Fast-Forward es un recorrido lineal. Es decir, que entre el máster y un Branch se puede
realizar un recorrido lineal sin omitir algún commit
Recursive es un recorrido distinto. El historial no es lineal, la rama máster tiene commits
que quedan omitidos si realizamos un recorrido lineal.
COMANDOS DE LA SECCION
git log –oneline –graph Muestra un mapa en ASCII de las distintas ramas y commits que
existen en el repo
git branch: Genera un listado de todas las ramas existentes en el repositorio
git branch < branchname > : Crea una nueva rama con el branchname.
git push <remote-name> <branchname>: Lanza nuestra rama local a nuestro repositorio
remoto.
git checkout < branchname >: Se mueve a la rama branchname.
git branch -a Muestra en que rama se está trabajando.
git branch -d < branchname >: Elimina el Branch especificado (Esto es cuando ya no
necesitamos un Branch y ya hicimos merge)
git push origin - - delete < branchname >: Elimina el branch de manera remota. Es decir,
si la rama ya esta subida, esto permite eliminarla remotamente.
git merge < branchname > -m "Descripción" : Fusiona los últimos dos commits del
Branch. Para esto, se debe ubicar en la rama de destino y escribir el comando junto con
una descripción del commit.
git checkout -b < branchname >: Crea una rama y se ubica en ella
git fetch: actualiza las ramas del repositorio
git diff –name—only –diff-filter=U: Es un listado de los archivos que tienen conflictos
Glosario
Conceptos Importantes:
Untracked File: Es un archivo que aún no está siendo seguido. Por así decirlo, es un archivo
que puede que forme parte física de mi proyecto, pero aún no forma parte de mi
repositorio.