Github Flow
Github Flow
Github Flow
FLUJO DE TRABAJO:
Ahora si queremos relacionar nuestra carpeta o archivos que tenemos guardados con un
repositorio que vamos a tener guardado en nuestro computador se debe ejecutar el
siguiente comando “git init” pero debemos estar en nuestra carpeta que queremos subir
al repositorio; este comando solo se debe ejecutar una vez por repositorio (se vinculara
solo la carpeta que queremos).
Otro comando interesante es el comando “git status” el cual nos permitirá ver que
archivos no han sido registrados. “git status -s” este comando permitirá saber que
archivos han sido eliminados, modificados o agregados.
Con el comando “git add nombre archivo” podremos agregar el archivo que queremos al
área temporal, ahora para mandar ese archivo a nuestro repositorio se realiza con el git
commit el cual nos permitirá devolvernos a la versión que nosotros queramos.
Con el comando “git add .” mandaremos todos los archivos que están en nuestro
directorio al área temporal.
Otra cosa si se realiza la modificación a algún archivo siempre toca realizar el git add . el
cual mapeara todos los archivos que se van a agregar al área temporal, pero en este caso
guardara los cambios que se hayan hecho y al hacer el git commit guardara en el
repositorio estos cambios.
Ahora si queremos ver los commits que se han realizado solo debemos colocar el siguiente
comando “git log --online”
Ahora para trabajar con github, el cual nos permitirá guardar lo que tenemos en nuestro
repositorio del computador es, crear un repositorio en github y después de creado
ejecutaremos el siguiente comando: “git remote add origin URL”
el cual solo se debe realizar una vez. “origin” para git es el repositorio remoto y tiene ese
nombre.
Luego se coloca el siguiente comando “ git push -u origin master “ el cual manda al
repositorio los commits que se tengan en el repositorio de nuestro computador al
repositorio de github. El comando de arriba solo se coloca la primera vez luego uno puedo
colocar los comandos “git push” este comando se coloca ya cuando queramos subir los
commits que hemos hecho a github.
Para probrar que la conexión con el repositorio esta bien se coloca el siguiente comando
“git remote -v”
Pull, fetch y tags
El archivo README.md es el que contendrá la descripción de lo que subimos a github lo
podemos crear o no si queremos, es una opción que nos da github. Ese archivo se
guardará dentro del repositorio de github, pero ese archivo no aparecerá en el repositorio
local que tenemos en nuestro pc. Ahora hay cosas que nosotros creamos en github pero
que no están en nuestro repositorio por lo que, si queremos tener eso, tenemos que
sincronizarlas con nuestros archivos locales, para hacerlos es con el comando pull, el cual
lo que hará es comparar los archivos que tenemos en github con los que tenemos de
forma local, y mandara lo que no tenemos en el repositorio local a este; Para hacerlo solo
colocamos “git pull” en nuestra terminal.
ahora el comando fetch lo que hace es compara nuestros archivos locales con los que
tenemos en github, si existiera alguna diferencia nos pediría realizar un “get pull” para
realizar un match de nuestros archivos locales; ósea lo que ara es dejarlos iguales tanto lo
que hay en github como lo que tenemos de forma local.
Ahora veremos los tags los cuales con ello podemos crear versiones de nuestro proyecto
para hacerlo solo ponemos el siguiente comando “git tag nombreVersión -m
descripciónVersión”; después de hacer esto si vemos los commits que hemos hecho “git
log --online” podremos observar que aparecerá en la parte superior el tag que realizamos:
Ahora si subimos esto a github con un git push podremos observar que el tag no podrá ver
en github ya que estos tocan subirlos de forma manual(separada), para esto escribimos el
siguiente comando “git push --tags” estos tag se pueden ver en la parte de github que
dice releases, ahí se pueden observar las versiones que hallamos realizado.
RAMAS-BRANCH
Son líneas de tiempo paralelas que nosotros después podemos juntar de tal forma que si
trabajamos en grupo, cada grupo puede trabajar en una rama y al final del proyecto unir
todo lo que se haya realizado.
Para crear una rama le damos “git branch nombreRama” se creó, pero no nos hemos
movido a esa rama, para movernos a esa rama colocamos el siguiente comando “git
checkout ramaIr”, ahora si nosotros queremos ver cuantas y cuales ramas hemos creado
solo colocamos “git branch” y esto nos mostrara también en que rama estamos. Luego
debemos guardar estos cambios damos “git add .” y “git commit -m “descripcion” ahora
si le damos “git log --online” veremos que estamos en la rama que creamos:
Si nosotros queremos unir lo que hicimos en la rama que creamos con la rama master
debemos hacer lo siguiente, primero es siempre posicionarnos en la rama master, luego
vamos a hacer un merge con lo cual digitamos lo siguiente “git merge ramaCreada” con
esto unimos lo que había en la rama master y en la rama que creamos. Para eliminar una
rama damos “git branch -d ramaCreada”. Al momento de que hacemos un merge pueden
existir conflictos eso sucede porque tanto en la rama master como en la creada se le
hicieron modificaciones a un mismo archivo y la maquina no sabe con cual versiones
quedarse, al momento de que sucede eso visual code nos preguntara con cual nos
quedamos:
después de seleccionar con cual nos quedamos hacemos un “git add .” y por ultimo un
commit como se muestra a continuación:
“git rm - -cached “nombre a”” este comando saca un achivo para dejarlo de seguir, ya no
importa que tantos add haga ese archivo ya no se le hace seguimiento.
BAJANDO ARCHIVOS
Eol siguiente comando permite crear una copia exacta en nuestra computadora de todos
los archivos existentes en un repositorio remoto “git clone URL” donde se le debe indicar
cual es el repositorio del cual se desea hacer la copia. Este comando solo se debe ejecutar
una vez, la primera vez, es decir cuando no tenemos ningún archivo en nuestro
computador.
Ahora para mantener sincronizados los archivos que hay en github, es decir que cuando
después alguien haga cambios y nosotros queramos descargas esos cambios. Entonces
cuando no se quiere clonar sino actualizar estos archivos el comando es “git pull origin
master” o “git pull origin main”. A veces se van a generar conflictos.
NOTA: al realizar el clone ya no es necesario realizar el comando remote, ya que cuando
hacemos el clone automáticamente ya tendremos git ahí y estará asociado al repositorio
remoto.
SOLUCIÓN DE CONFLICTOS
Este es el error que sale al hacer el push y existir conflicto:
Entonces el paso a realizar es traer esos cambios que esa persona realizo, para eso
realizamos el comando ya visto el cual es “git pull origin master” y botaría este mensaje:
Esto quiere decir que git quiso arreglar los cambios pero fallo así que, si lo abrimos desde
nuestro editor de código en este caso visual nos aparecerá lo siguiente para resolver el
conflicto.
Y con esto queda resuelto el conflicto, algunas veces git podrá resolver estos conflictos
por si solo y en otros momentos no. Luego lo ultimo que debemos hacer es hacer add,
commit y push. Para subirlo a el repositorio.
CURRENT CHANGE:
INCOMING CHANGE: