Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Qué es git?
Guardando un registro de todos los cambios que sufran los archivos. Lo que hace es sacar
instantáneas de cómo vas modificando el archivo, cronológicamente, puede hacerlo con más
de un archivo al mismo tiempo
Divide un archivo en dos ramas o dos flujos de trabajo en caso que sean dos, pueden ser más,
para que los distintos programadores pueden trabajar por su lado. Luego fusiona las dos ramas
o flujos en lo que los distintos programadores trabajaron en un único archivo o documento
El primer comando que usaremos es fuera de la consola de git, será como ingresar a esta. Git
bash es la consola, es más fácil es con el botón derecho en la carpeta de cuestión,
seleccionamos git bash here y nos abre la consola directamente en el directorio
Para que git comience el seguimiento de los archivos de forma total o de algunas nomas, que
tenemos en nuestro directorio de trabajo, el primer comando que usamos es git init (solo se
usa una vez, cuando queremos que comience a hacer un seguimiento del proyecto). Crea dos
áreas el área de ensayo, donde se almacenan los archivos de manera temporal y el repositorio
local, donde se almacenan las copias, las instantáneas que git les hace a nuestros archivos.
Para hacer seguimiento a los archivos usamos el comando git add y el nombre del archivo,
(internamente git lo lleva al área de ensayo)
El comando git commit, traslada el archivo o archivos del área de ensayo al repositorio local,
que es donde se va a hacer la instantánea de los archivos, aquí se crea el respaldo
propiamente dicho
Para saber los archivos y directorios que tenemos en la carpeta del proyecto usamos el
comando git status –s. si tienen un ¿rojo quiere decir que no le está haciendo seguimiento a
esos archivos.
Agregamos al seguimiento a un archivo con el comando git add “nombre del archivo”. Si
volvemos a usar el comando git status –s, vamos a ver el nombre del archivo que agregamos,
con una letra A al lado, eso quiere decir que el archivo está recibiendo un seguimiento y se
encuentra en el área de ensayo.
Si queremos ver lo que está en instantánea con el comando git status –s, ahora lo que tenga
instantánea no va a aparecer en el listado,
Ahora para hacer una instantánea del archivo lo que vamos a hacer es usar el comando git
commit – (para agregar una descripción a la instantánea que va a sacar git hacemos git commit
– m “lo que va de descripción”.
si se modifica, al lado del nombre del archivo va a tener un m roja que indica que se modificó
el archivo y no fue respaldado.
cada vez que queramos hacer un respaldo del archivo, debemos primero llevarlo al área de
ensayo con el comando git add “nombre del archivo “, y luego mandarlo al repositorio con el
comando git commit –m “descripción”
para ver un listado de todas las copias que tenemos en el repositorio usamos el comando
git long - -oneline. Acá nos dará un listado de todas las copias que se encuentran en el
repositorio con sus respectivas descripciones
si queremos hacer los dos comandos a la vez tanto git add como git commit usamos el
siguiente comando
si sigues en la consola de git, usamos el comando: i (tecla enter) y ya nos deja editar para salir
del modo edición tocamos escape, luego usamos otra vez el comando: i (enter), para modificar
el nombre, escape. Cuando tenemos todo usamos el comando: wq, para que guarde cambios
correctamente de todo lo modificado
vamos a usar los comandos que nos dan en GitHub, la copiamos y la usamos en la consola de
git, para poder subir directamente un repositorio ya existente
Si al dar enter y refrescar el repositorio de GitHub no nos aparece ningún archivo subido
vamos a hacer las dos líneas de comando siguiente.
video 4
crear tags
si vamos al repositorio que hemos subido, si vamos al archivo nos va a aparecer el código del
archivo, si deseamos programar desde GitHub lo podemos hacer, del lado derecho tenemos un
botón para editar, para poder hacerlo desde GitHub. Al final de la página tendremos un botón
que dice commit changes, que lo que hace es guarda los cambios en remoto. Para traer los
cambios que hicimos remoto a local, lo que vamos a hacer es (si cuando subíamos de local a
remoto usábamos la instrucción push, ahora haremos lo inverso eh usaremos la instrucción
pull)
tenemos que tener la consola preparada en el directorio donde estamos trabajando y lo único
que tenemos que hacer es escribir el comando git pull, en la consola, y listo, va a traer los
cambios que hemos hechos en remoto al local
Tags
Imaginemos que queremos guardar una primera versión del proyecto. Las tags son etiquetas,
que nos permiten especificar versiones de nuestro proyecto
Para agregar una primera etiqueta, lo que hacemos vamos a consola ponemos git tag (nombre
identificativo para la etiqueta) –m “descripción de la etiqueta”
Ahora para subir las tags a nuestro repositorio remoto lo que vamos a hacer es el comando
Con este comando nuestros tags se moverán al repositorio remoto, te deje descargarte el
proyecto una vez que hemos hecho el tag
Simulando un desastre, borramos todo el proyecto, ahora gracias que lo tenemos en el
repositorio remoto lo podemos rescatar en cualquier momento, podemos descargarnos el Zip
del proyecto.
Nos da una URL, desde la opción de code que tenemos a la derecha en el repositorio de
GitHub, nos vamos a la carpeta del proyecto y abrimos la consola, una vez abierta usamos el
comando
Git clone (y pegamos el URL que copiamos anteriormente del directorio remoto) y lo que va a
hacer es clonarnos el directorio que tenemos remoto
Video 5
Ramas o branch
Son una rama o una línea de tiempo, master es el nombre que git le da a la línea de tiempo o
rama con instantáneas
Mientras desarrollamos nuestro proyecto podemos crear varias líneas de tiempo o ramas en
forma paralela, a la rama que crea git (master), siempre debemos trabajar con una rama
master, pero a esta le podemos agregar las ramas paralelas. Se pueden trabajar a la vez en las
dos ramas. Puedes hacer commits en la rama master, y te podés cambiar de rama y hacer
commits en esa otra rama. No hay límites en cuanto a ramas que se le agreguen a un proyecto.
Cuando vaya bien con los cambios o trabajos en todas las ramas se pueden fusionar en una
sola.
Se pueden modificar dos mismos archivos en distintas ramas, no solo las ramas son para
trabajar en distintos archivos (que es lo mejor)
Para crear una rama haremos el siguiente comando, pondremos en consola git branch (el
nombre que le daremos a la rama), en mi caso use el nombre variables
Ahí la podremos ver con color verde las distintas ramas del proyecto
Para ver las ramas del proyecto y la rama en la que me encuentro usaremos el comando git
branch solo
Ahí muestra las dos variables que tenemos y en cual nos encontramos en este caso master, lo
indica con el asterisco
Para movernos a otra rama lo que haremos es el siguiente comando lo que hará es mover
nuestro flujo de trabajo a la otra rama, para esto haremos
Lo que hacemos ahora es modificar uno de los archivos, hacerle un git add y luego un commit.
Cuando nos muestre los commits que tenemos hechos con el comando oneline, veremos que
el ultimo commit que hicimos se hizo en la rama de variables, lo veremos con el nombre de la
rama en verde
Si me muevo a la rama master y hago un git log oneline, el ultimo commit que hice en la rama
de variables no se mostrara, lo mismo si hacemos un commit en la rama master y usamos el
comando oneline en la rama de variables
Lo que haremos ahora es fusionar las ramas para eso vamos a usar el comando git merge
(nombre de la rama que queremos fusionar)
Video 6
Desde visual studio podemos dar comandos a git, sin necesidad de abrir su terminal, lo que
vamos a hacer es ir a la opción ver, y dentro de esta seleccionaremos la que dice terminal. Esto
lo que hace es abrir una terminal dentro del visual studio, dentro del directorio donde estamos
trabajando.
Entonces lo primero que vamos a hacer es decir que vamos a hacerle un seguimiento a este
proyecto, para eso lo hacemos con el comando que vimos en un principio git init
Una vez usado el init vamos a ver que la lista de archivos que tenemos a la izquierda
aparecerán con una U, lo que significa unfollow, esto quiere decir que no se les está haciendo
un seguimiento a estos archivos. Ósea visual studio reconoce que hemos iniciado git, pero
también reconoce que no hemos llevado estos archivos al stage área
También veremos en visual studio un icono que tendrá una notificación, esto nos mostrara
cuantos cambios sin guardar tenemos y cuando efectivamente clicamos sobre él nos muestra
indispensablemente de los directorios cuales son los archivos que tenemos sin guardar, los
cambios hechos
Para agregar todos los archivos al staging área, vamos a usar el comando git add ., esto lo que
va a hacer es agregarnos todos los archivos del proyecto a esta área. Automáticamente la U
que tenían los archivos indicando que no estaban siendo seguidos (unfollow) cambia por una A
(add) de añadidos esto quiere decir que estos archivos fueron agregados al staging área
Una vez tenemos esto ya estamos en condiciones de realizar nuestro primer commit para esto
vamos a usar el mismo comando que sabemos que es git commit –m “(descripción que le
queremos poner)”
Ahí en la captura podemos ver que nos comenta, que cuatro archivos han cambiado y que se
han hecho ocho inserciones, y nos detalla los archivos a los que le hemos hecho commit,
inclusive en el espacio de trabajo que hemos generado, por otro lado, también veremos en el
explorador de archivos que el color verde que tenían los nombres de los archivos y las letras
que tenían indicando, el seguimiento desaparece.
Ahora si modificamos el archivo una vez hecho el commit, visual studio nos avisará, tiñendo en
naranja el nombre del archivo y agregándole una M al lado que significa modificación, por otro
lado, en el icono de ramas o branches de las notificaciones de cambio también habrá un
llamado avisando efectivamente que se han realizado cambios
Ahora lo que hicimos fue modificar todos los archivos del proyecto, y podremos observar que
vs nos avisa de la modificación individual de todos estos, poniendo en naranja el nombre de
todos los archivos en el explorador de archivos y agregándole una M al lado que significaba
modificación
Por ultimo utilizaremos el comando que ya conocemos git log –oneline. Nos mostrara todos los
commit que hicimos hasta ahora en el proyecto. También nos mostrara en la rama que
estamos trabajando en este caso es la rama master
Video 7
En este video veremos cómo podemos trabajar en visual studio en ramas o branches
En la pantalla a la izquierda, debajo veremos un icono que nos mostrara en que rama estamos
trabajando nuestro proyecto
Para crear una nueva rama, haremos lo siguiente dentro de la consola que se encuentra dentro
de visual estudio, usaremos el comando que ya sabemos git branch “el nombre de la nueva
rama”. Una vez creamos la rama haremos un comando git branch y efectivamente nos
mostrara que tenemos dos ramas, la rama master y en este caso el nombre que elegí para la
segunda rama es la de diseñador1
Ahora si nos queremos cambiar de rama lo que haremos es el comando git checkout “nombre
de la rama a la cual queremos movernos”, (en este caso va a ser diseñador1). Y otra vez visual
studio nos avisara el nombre de la rama en la que estamos ahora trabajando abajo a la
izquierda
Ahora lo que vamos a hacer es un merge, vamos a unir la rama master con la rama diseñador1,
esto lo que hará es fusionar lo que estuvimos trabajando por separado, ahora para hacer un
merge desde consola tenemos que estar posicionados en la rama master. Para esto vamos a
usar el comando git merge “nombre de la rama que queremos fusionar con la rama master” git
Ahora lo que vamos a hacer es un comando de git log, para ver todos los commit que hicimos y
como ya fusionamos la rama diseñador1 con la rama master vamos a borrar la rama
diseñador1, porque ya no nos va a ser más útil, esto lo hacemos con el comando git branch –d
(nombre de la rama que deseamos borrar)
Por ultimo usamos el comando de branch para ver las ramas que hay, y efectivamente una vez
borrada la rama de diseñador1, solo nos queda la rama master
Ahora lo que vamos a hacer es crear una rama, sin la necesidad de consola, la crearemos
directamente desde visual studio, si vemos a la izquierda de la visual studio code, veremos
varios iconos, ahí entraremos en el que parece una ramificación, que es el que nos avisaba
cuando teníamos cambios pendientes de guardado en los archivos
Dentro de esta opción nos encontraremos con una barra para ingresar texto, a la que si le
ingresamos un comando y tocamos cntrl + enter, lo que hará es ejecutar el código sin
necesidad de hacerlo por consola
También lo que tendremos es un montón de opciones, para crear y hacer varias cosas desde el
visual estudio sin necesidad de usar la consola, por ahora veremos la opción de crear una
rama, pero hay un montón de opciones mas
Otra cosa que podemos hacer es si vamos al icono inferior izquierdo en el cual aparece el
nombre de la rama con la que estamos trabajando si clicamos ahí, nos abrirá un menú en el
cual podemos seleccionar la opción de crear rama, le asignamos un nombre y una vez hecho
esto se realiza el checkout solo, y nos deja trabajando en la rama nueva que hemos creado
Si modificamos un archivo y queremos hacer un commit, directamente desde el control de
código fuente podemos hacerlo de dos formas, o cliqueamos el botón de la tilde, esto
automáticamente realiza un commit, en la rama en la que estamos, o también directamente
podemos usar las teclas ctrl + enter, y lo que va a hacer es hacernos un commit en la rama que
estamos
Yo lo que hice fue agregar un mensaje en esa barra para introducir texto y presione las teclas
correspondientes (ctrl + enter) y me hizo el commit, ahora si hago un git log oneline, nos va a
mostrar el commit de la modificación realizado desde la rama diseñador 2
Lo que vamos a intentar ahora es modificando desde la rama master la misma línea que
modificamos con la rama de diseñador2, para que se genere un conflicto en el merge. Porque
el párrafo va a ser diferente
Visual studio nos va a arrogar lo siguiente cuando hagamos el Merge de estas dos ramas
Por un lado, nos estará mostrando el curren change, que es el cambio actual, la última
modificación que hicimos en la rama, y por otro lado en azul en este caso nos está mostrando
el incoming change, que es el cambio que se traerá desde diseñador dos.
Arriba se verá que nos ofrece varias opciones, como surge un conflicto deberemos tomar una
decisión respecto a esto.
Si elegimos la primera que es “accept current change”: dejara el párrafo como en el current
change
Si elegimos “accept incoming change”: como nos damos cuenta, dejara el párrafo como el
incoming change
“accept both changes”: si elegimos esto, resuelve el conflicto dejando los dos párrafos por lo
que los duplica, no elije entre uno y otro, sino que se queda con ambos. Así se vería si
seleccionaríamos esta opción y nos quedaríamos con ambos cambios
“compare changes”: si elegimos esta opción se nos abre una ventana adicional y se nos
informa como están los cambios en un documento y como están en el otro
Video 8:
En este video lo que vamos a ver es como crear un proyecto desde GitHub y sincronizarlo con
visual studio code
Vamos a crear un repositorio desde 0 en GitHub, vamos a hacer clic en el más que tenemos
arriba a la derecha, y de ahí la opción new repository
Luego pasaremos a hacer todos los pasos que conocemos como, ponerle nombre al
repositorio, etc.
Hecho esto nos iremos a abrir visual studio code. Una vez abierto vamos a ir a la opción ver >
paleta de comandos
En la paleta de comandos lo que hacemos es escribir git clone, y una vez que le damos enter
nos va a saltar un mensaje para que proporcionemos una URL del repositorio que deseamos
clonar
Así que vamos a nuestro repositorio en GitHub y lo que hacemos es copiar la URL de este
Cuando ingresamos el URL del repositorio nos desplegara una ventana que nos pedirá
seleccionar donde queremos que se cree este repositorio
Ahora una vez que realizamos cambios y queremos subir el archivo al repositorio web en
GitHub, lo que vamos a hacer es ir al icono donde nos muestra los cambios (luego de hacer el
commit para guardar los cambios) vamos al icono de los tres puntos que hay arriba a la
derecha y ahí una vez que cliqueamos seleccionamos la opción insertar (push), de esta forma
se subirá el commit al repositorio web. Una vez termina en vs nos vamos a la página de GitHub
refrescamos la página y veremos que ya nos ha subido el archivo a este repositorio
Una vez tenemos el archivo subido a GitHub, lo podemos editar desde ahí, si realizamos
cambios desde GitHub, luego hacemos un commit en la página. Cuando regresemos a VS nos
aparecerá un icono del lado izquierdo en la parte de abajo, para sincronizar los cambios esto
traerá desde el repositorio web de GitHub, los cambios que se hicieron ahí, a nuestro archivo
Video 9:
Lo que vamos a ver en este video es como trabajar con ramas (branches) en GitHub
Ahora bien, si hacemos clic ahí nos mostrara todas las ramas con sus nombres y cuando fue la
última vez que se modificaron
Volvemos hacia atrás y tendremos un icono con el nombre de la rama, si presionamos ahí se
desplegará un menú para crear o buscar rama, en este caso crearemos una nueva rama que se
va a llamar “rama estilos”, ponemos el nombre de la rama que queremos crear y
seleccionamos la opción crear rama
Si volvemos a donde nos muestran las ramas veremos ahora que tenemos dos ramas, la rama
main y la rama estilos.
Ahora lo que haremos va a ser crear un archivo nuevo desde la rama de estilos, para esto
vamos a ir arriba a la derecha a la opción de add file, y seleccionaremos crear archivo, lo
renombraremos de la forma “miestilo.css”
Ahora para agregar los cambios que hicimos en este nuevo archivo que creamos dentro de
esta nueva rama “rama estilos”, scrolearemos hacia abajo donde habrá un botón para realizar
un commit de lo que hicimos, le agregaremos una descripción también
Una vez tenemos el commit y agregamos en el archivo índex, el estilo del archivo estilos,
volvemos a realizar un commit y nos aparecerá arriba de los archivos los commit de ventaja
que tienen una rama en comparación a la rama main, también aparecerá un botón que dice
“compare” and “pull request”. El compare sirve para comparar los cambios que se han hecho y
nos mostrara cuales fueron estos. Mientras que el pull request hace referencia a que, si están
trabajando varios usuarios dentro de la misma rama, y quieren hacer un merch de esta antes
de poder hacerlo tienen que realizar una petición para poder hacerlo, petición de pull hace
referencia al “pull request”
Si queremos hacer un merch de esta nueva rama a la rama master presionamos el botón de
compare and pull request
Una vez hecho el pull request se vera de la siguiente forma. Se analizará si la rama tiene o no
conflictos como vemos abajo, y también veremos el pull request de parte de quien viene y si
ha hecho comentarios o no sobre este pedido, si no tiene conflictos nos apareceré una tilde
verde y habrá un botón de merge pull request, que es para realizar el merge de las dos ramas
Luego de aceptar y hacer el merge, nos saltara un botón con la opción de delete branch que es
por si esa rama luego de hacer el merge no nos sirve más si la queremos eliminar
Video 10:
Fork
El fork es una ramificación del proyecto que se utiliza, mayormente para colaborar con el
proyecto. El fork no es una rama, el fork es una ramificación de todo el proyecto de principio al
final
El fork es parecido a una clonación, pero con algunas ventajas. Imagínense que queremos
hacer un fork de un proyecto, entonces se va a clonar el proyecto entero, ahora donde se va a
copiar este proyecto se copiara en GitHub. Es decir, a hacer un fork, vamos a tener un
repositorio nuevo con una copia del proyecto, este se descarga al repositorio local para hacerle
las modificaciones pertinentes que uno cree necesarias o útiles, una vez terminamos todas las
modificaciones y hacemos un commit de la copia del proyecto modificada le podemos hacer
un pull request al dueño del proyecto original para que vea las modificaciones y acepte alguna
si él cree necesarias o útiles
Para hacer fork de un repositorio vamos a buscar al usuario que tiene el proyecto y vamos a ir
a la parte de repositorio y ahí tendremos un botón que dice fork
Una vez hacemos el fork nos aparecerá el repositorio en nuestro perfil, y dirá que es un fork
del perfil del que lo hemos tomado
Una vez tenemos el repositorio vamos al botón de code, copiamos la URL vamos a una carpeta
donde queremos que se descargue el repositorio abrir la consola de git, y usar el comando git
clone (URL del repositorio)
Ahí ya podemos empezar a trabajar desde el repositorio local haciendo los cambios
pertinentes, una vez que hicimos los cambios vamos a la consola de git y hacemos todo el
proceso que sabemos git add., el commit y luego lo subimos al repositorio local con el git push
origin master
Luego de todo esto podemos pedir un pull request al dueño del proyecto original, va a haber
un botón que dice pull request, una vez lo presionamos, nos comparara el proyecto original
con el nuestro y se mostraran los cambios que hemos hecho. También nos va a decir si está
apto para hacer un merge, si hay poco o no hay ningún conflicto entre las modificaciones. Si
vemos que esta todo en orden confirmamos el pull request al dueño, nos abrirá una página
donde le podemos poner título y añadir un comentario para que pueda ver el dueño, de
porque le hacemos el pedido de pull.
Por otra parte, desde la cuenta del dueño si entramos en el repositorio veremos que
tendremos un pedido de pull request, entramos ahí donde está la petición, entramos en la
opción de file changes, que esta nos mostrara los cambios que ha realizado. Dentro de esta
opción además de ver los cambios vamos a tener un botón que dice review changes que si lo
oprimimos se abrirá una ventana a la que podemos dejar comentarios para que vea el
programador que te pide los cambios. Esta ventana tiene tres opciones
Comment, que es para hacer comentarios, pero no hace el merge del proyecto todavía.
Otra opción es approve, que esta hace directamente los cambios por lo que realiza el merge.
Video 11: