martes, 6 de junio de 2023

Manual Git #1 [ configuración inicial, estandarizado saltos de línea, visionado de opciones, flujo de trabajo, comando git add]

 


MANUAL COMPLETO DE GIT Y GITHUB

 

Código de colores del manual

Comandos ordinarios

Recomendaciones

Puntos clave

Comentarios

SECCIÓN 1

Instalamos Git en mi caso para Windows, abriremos la consola gitbash y para saber qué versión hemos instalado podemos saberlo conel comando git  - - versión



1.1 CONFIGURACIÓN INICIAL

Configurar el nombre de usuario de forma global en todo el sistema

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global user.name "Juan José"

 

Configurar el mail

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global user.email jujomilo@gmail.com

 

Activar los colores en la terminal

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global user.ui true

 

Ver nuestra configuración actual

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config –list

 

diff.astextplain.textconv=astextplain

filter.lfs.clean=git-lfs clean -- %f

filter.lfs.smudge=git-lfs smudge -- %f

filter.lfs.process=git-lfs filter-process

filter.lfs.required=true

http.sslbackend=openssl

http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt

core.autocrlf=true

core.fscache=true

core.symlinks=false

pull.rebase=false

credential.helper=manager-core

credential.https://dev.azure.com.usehttppath=true

init.defaultbranch=master

user.name=Juan José

user.email=jujomilo@gmail.com

user.ui=true

 

1.1   Asignando visual studio como editor de configuración de git

Cuando queremos trabajar en la configuración de git ya sea global o local de algún repositorio, Gitbash trae instalado por defecto un editor de texto para consola llamado VIM, este editor es poco intuitivo y lo que podemos hacer configurar visual studio como nuestro editor de git por defecto. Para hacer esto seguiremos los siguientes pasoso:

Con el siguiente comando hacemos que VS code sea el editor por defecto:

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global core.editor "code --wait"

La propiedad  “code --wait” es la que va a hacer que se abra en  VScode el archivo sobre el que queremos trabajar de forma que no se nos permitirá seguir avanzando en la ejecución de comandos en la consola hasta que cerremos vs code después de haber realizado alguna modificación en ese archivo de configuración.

Si ejecutamos el comando:

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global core.editor "code --wait"

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$

 

Una vez ejecutado este comando, para poder editar el archivo ejecutaremos el comando

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global -e

Al ejecutarlo se nos abre el archivo de configuración pero ya en vscode y la consola nos indica que está esperando que cerremos vscode después de hacer los cambios, para poder continuar trabajando en ella, es decir no nos va a dejar introducir más comandos hasta que cerremos vds code




Una vez cerrado VSCODE recuperamos el control de la consola

 

1.1   ESTANDARIZANDO LOS SALTOS DE LÍNEA EN WINDOWS

Los sitemas operativos basados en unix, Linux macOS, poseen una estructura de directorio bastante similar, sin embargo los sistemas operativos Windows, debido a esto si en un equipo de trabajo de varias personas, cada uno de ellos trabajan con sistemas operativos distintos de Windows (Linux, MacOS) cuando ellos suban su trabajo al repositorio se crearán archivos de ese repositorio con una configuración propia de esos sistemas oparativos y si estás en Windows puede afectar a la legibilidad y a otros aspectos, por ello tenemos los siguientes dos comandos sirven para estandarizar los saltos de línea y otros aspectos que se crean en esos archivos:

Estandarizar saltos de línea en Windows:

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global core.autocrlf true

 

Estandarizar saltos de línea en Linux / Mac:

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config --global core.autocrlf input

 

 

1.2   VER TODAS LAS OPCIONES DE LA CONFIGURACIÓN EN LA TERMINAL

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git config -h




1.1   VER TODAS LAS OPCIONES DE LA CONFIGURACIÓN EN EL NAVEGADOR

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ git help config





2 INICIAR GIT EN UN DIRECTORIO LOCAL

En este apartado vamos ya a inicializar un directorio local, es decir una carpeta que ya Git vaya trakeando los cambios.

vamos a empezar creando una carpeta en el escritorio e inicializando git en ella y lo vamos a hacer mediante comandos de consola. Los commandos que analizaremos en esta sección son los siguientes:

mkdir

cd carpeta

touch README.md

touch .gitignore

git init

code .

 

nos posicionamos donde queramos para crear la carpeta en este caso me voy a ir al escritorio

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ cd Desktop

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop

$

 

Una vez situados en el escritorio vamos a crear una carpeta con el comando mkdir y la podemos llamar por ejemplo youtube-git

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop

$ mkdir youtube-git

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop

$ 

En este momento la carpeta se ha creado, ahora nos vamos a situar dentro de ella con el ocmando cd y el nombre de la carpeta

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop

$ cd youtube-git

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git

$

 

Una vez dentro de ella vamos a crear el archivo README.md (mark down). Un archivo Markdown  es un archivo principal que contendrá la explicación y la documentación de cada proyecto, librerías usadas, frameworks, etc que esté alojado en alguna plataforma como github, la forma de crear el archivo es:

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git

$ touch README.md

 

Si vamos a la carpeta veremos que ya se ha creado este archivo. Vamos a crear también un archivo con la extensión gitignore, todas la rutas que dejemos definidas en este archivo van a ser ignoradas por Git, es decir nose va a realizar un seguimiento de esas carpetas o archivos.

Esto se utiliza por ejemplo en las carpetas modules de node.js donde no es necesario realizar el seguimiento.

Creemos el archivo

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git

$ touch .gitignore

 

 Este es un archivo oculto, si hago un ls en mi carpeta de proyecto no lo va a listar pero si vamos a la carpeta lo veremos

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git

$ ls

README.md



Si queremos ver el archivo oculto en el ls en consola podemos añadir el flag  -a  es decir ls -a

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git

$ ls -a

.../  .gitignore  README.md

 

Iniciando el trakeo de git

Para iniciar el seguimiento de nuestro proyecto solo nos resta ejecutar el comando git init, solo necesitamos ejecutarlo una vez y ene l momento de ejecutarlo se crea una carpeta invisible

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git

$ git init

Initialized empty Git repository in C:/Users/jujom/Desktop/youtube-git/.git/

 

Como en el caso anterior la puedo ver con un ls -a


Si abrimos esa carpeta oculta veremos una serie de archivos y directorios, aquí es donde Git va a ir haciendo el seguimiento de nuestro proyecto y guardando las ramas etc, por ello no tocaremos nada de esta carpeta

 

3 FLUJO DE TRABAJO

El flujo de Git consta de 3 estados locales y 1 remoto, estos estados son:

1.      Working Directory: Es el área correspondiente al estado modified y es la carpeta local en nuestra computadora donde almacenamos los archivos de nuestro proyecto.

2.      Staging Area: Es el área correspondiente al estado staged también se le llama index porque es el área donde git indexa y agrega los cambios realizados en los archivos previos a comprometerlos en su registro.

3.      Local Repository: Es el área correspondiente al estado commited, donde los cambios ya se han registrado en el repositorio de git, también se le llama HEAD porque indica en qué cambio se encuentra el puntero del repositorio.

4.      Remote Repository: Es el área correspondiente al estado remote y es el directorio remoto donde almacenamos los archivos del proyecto en alguna plataforma web como GitHub, GitLab, BitBucket. Git denomina origin al repositorio remoto.

 

En la siguiente figura podemos ver de forma gráfica este flujo de trabajo:


Una vez que hemos iniciado el seguimiento con el comando git init en una carpeta, cada vez modifiquemos, añadamos o eliminemos algo dentro de esa carpeta o en los archivos que contenga, obtendremos una alerta por parte de Git indicándonos que se ha modificado algo.

3.1  Estado modified a staging [ git add]

Entonces el estado modified sucede en el working directory, es decir en la carpeta donde estamos trabajando en local.

Veamos un ejemplo, ya en VScode. Si abrimos VS en la parte izquierda veremos que en el icono de git se nos indica que se han detectado dos cambios:



Si recordamos, en el apartado anterior creamos los archivos README y el gitignore, y después de crear estos archivos inicializamos el proyecto con git init, opr eso esos dos archivos para Git son cambios sin trakear y por ello nos indica que hay dos cambios pendientes.

Esos dos archivos se encuentran en el estado modifiedà ahora lo que queremos es pasarlos al estado Staging donde Git ya genera el índice de todos los cambios que se realicen  (ver figura 1), esto lo conseguimos con el comando:

git add

entonces desde mi consola git bash, si estoy situado dentro de la carpeta del proyecto

Juan@DESKTOP-TJ9KCN3 MINGW64 ~

$ cd Desktop

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop

$ cd youtube-git

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git (master)

$ ls -a

....git/  .gitignore  README.md

 

Juan@DESKTOP-TJ9KCN3 MINGW64 ~/Desktop/youtube-git (master)

 

Puedo ejecutar el comando git add y pasar esos dos archivos del directorio de trabajo a la zona de staging de git (estado stage).


No hay comentarios:

Publicar un comentario