Está en la página 1de 24

GIT

¿Qué es git?

Es un software de control de versiones

¿Para qué sirve?

Para facilitar el desarrollo y mantenimiento de aplicaciones tanto de forma individual como


sobre todo al trabajar en equipo

¿Cómo facilita el desarrollo y el mantenimiento de aplicaciones?

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

Funcionalidad de crear ramas: (función ideal para trabajos en equipo)

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

Comandos de consola, para darle órdenes a git

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

para restaurar el archivo a la primera instantánea que se hizo, usamos el comando

git reset – hard (el código que le asigna git a la instantánea)

si queremos hacer los dos comandos a la vez tanto git add como git commit usamos el
siguiente comando

git commit –am “descripción”


si queremos modificar la descripción, vamos a abrir el editor vim que se encuentra en la
consola de git mismo, para abrirlo vamos a usar el comando

git commit - -amend, abre el visual studio y lo cambias de ahí

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

como subir el proyecto a GitHub, para tener un respaldo en la nube

en GitHub, elegir la opción de crear repositorio, ponerle nombre al repositorio

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

Este comando lo copiamos y lo pegamos en la consola de git

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.

Estas van a ser git remote –v

Git push origin master


Una vez hecha estas dos líneas de comando ya deberíamos tener nuestro repositorio subido a
GitHub

video 4

editar desde GitHub

crear tags

clonación de repositorio en local

editar desde GitHub

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

Git push - - (doble guion, seguidos) tag

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

Git checkout “nombre de la rama a la que nos queremos mover”

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

Ahora con un merge haremos una función entre los archivos

Como primer paso debes moverte obligatoriamente a la rama master,

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

Si realizo una modificación en la rama master y luego me muevo a la rama “diseñador1”, el


cambio que he realizado en master no me aparecerá en la rama de “diseñador1”, lo mismo
pasa si realizo un cambio desde la rama de diseñador1 y luego me muevo a la rama de master

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

Vamos a usar el repositorio que creamos anterior mente, si entramos en el repositorio


veremos que en una opción nos dice él hay una sola rama

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.

Y la última le pedís cambios al otro programador

Video 11:

Habla de eclipse pero es mayormente para java

También podría gustarte