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