GiancarloBenavides / Git-Course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GIT-Course

Fundamentos de GIT

Creado por GncDev para explicar fundamentos de Sistemas operativos.

Control de Versiones

Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo

Agenda

  1. Instalación de wsl.
  2. Instalación de git.
  3. Instalación de Github.
  4. Instalación de VSCode.


Antes de comenzar a usar Git, debe hacerlo disponible en su computadora. Incluso si ya está instalado, probablemente sea una buena idea actualizar a la última versión.

Arquitectura WSL

1.1. Habilitar pre-requisitos para WSL en Windows ✔

Nota: Versiones superiores a Windows 10.19041 y Windows 11.22621

1.1.1. Comandos.

# Habilitar Hyper-V en windows 10
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause
# Activar WSL
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
# Lista de las distribuciones de Linux disponibles
wsl --list --online

1.2. Instalación de WSL para desarrollo ✔

1.2.1. Comandos instalación.

# EN POWERSHELL DE WINDOWS
# ------------------------
# Instalar WSL
# El comando --install realiza las acciones siguientes:
#   * Habilita los componentes opcionales de WSL.
#   * Descarga e instala el kernel de Linux más reciente.
#   * Establece WSL 2 como valor predeterminado.
#   * Descarga e instala la distribución de Ubuntu Linux.
wsl --update
wsl --install
# Nota: es posible que sea necesario reiniciar.

1.2.2. Comandos actualización y prueba.

# EN BASH DE WSL
# --------------
#   * Mantener la distribución WSL actualizada.
sudo apt update && sudo apt upgrade
#   * Instalar nano.
sudo apt install nano
#   * Prueba la siguiente tubería en el subsistema Linux
#     notar que combina comandos de win32 y comandos de WSL. (poderoso)
ipconfig.exe | grep -a IPv4 | cut -d: -f2
#   * Obtener el shell que se esta ejecutando en wsl 
echo $SHELL

1.2.2. Comandos prueba desde windows.

# EN POWERSHELL DE WINDOWS
# ------------------------
#   * Prueba la siguiente tubería de comandos en Windows y comunica el resultado a WSL
ipconfig | wsl grep -a IPv4 | wsl cut -d: -f2
wsl lsb_release -a
  • Recomendamos instalar Git en Linux o dentro de WSL (git nativo)
  • Eliminar versiones antiguas de Git incluidas en la distribución.
  • Agregar repositorio oficial de los mantenedores de Git.
  • Actualizar lista de paquetes.
  • Instalar la ultima version de Git.
  • Agregar un usuario y un correo globalmente para Git.

2.1. Comandos instalar Git ✔

# Eliminar versiones antiguas de GIT
sudo apt remove git
# Agregar repositorio PPA
sudo add-apt-repository ppa:git-core/ppa -y
# Actualice su sistema
sudo apt update && sudo apt install git-all -y
# Verifique la versión desde WSL
git --version
# Verifique la versión desde la terminal de windows
wsl git --version
# Para agregar usuario y correo globales a GIT
git config --global user.name "GncDev"
git config --global user.email gncdev@dominio.com
# Para agregar usuario empresarial a un solo repositorio
git config user.email gncdev@empresa.com
# Para verificar las configuraciones añadidas
git config -l

3.1. Comandos verificar el agente ssh ✔

# Verifique que SSH funcione correctamente
# 	Verifique la version de ssh y openssl version
apt list openssh-client
# 	Instale un cliente SSH
sudo apt update && sudo apt install openssh-client
# 	Verifique el agente tiene un identificador de proceso asociado
ps -C ssh-agent
# 	Verifique que existen las variables de entorno necesarias $SSH_AGENT_PID, $SSH_AUTH_SOCK
echo $SSH_AGENT_PID $SSH_AUTH_SOCK
env | grep -i ssh
#   Si no se esta ejecutando inicie el ssh-agent in background
eval $(ssh-agent -s)  

3.2. Comandos configurar al agente ssh ✔

# Crear un par de claves para ssh (publica:privada)
# 	Crear un directorio oculto en la carpeta de usuario de wsl </home/user>
mkdir ~/.ssh && cd ~/.ssh
# 	Generar un par de llaves para usar con github
		# -C "gncdev@dominio.home"	:para agregar un comentario al final de la llave
		# -f id_ed25519 		:para agregar un nombre al archivo
		# sever_name=file=github, pass=***
ssh-keygen -t ed25519 -f id_ed25519 -C "gncdev@dominio.home"             	
# Agregue la clave privada al agente ssh
ssh-add ~/.ssh/id_ed25519
# Copie el contenido de la clave púbica y agréguelos a las claves en github
cat ~/.ssh/id_ed25519.pub | clip.exe
# Probar SSH con el repositorio remoto (sin usuario y contraseña)
git clone git@github.com:GiancarloBenavides/Git-Course.git

Nota: para ir a la pagina y agregar las claves SSH en github visita el siguiente enlace

3.2. Comandos probar el correcto funcionamiento de ssh ✔

# Si tiene problemas para conectarse a github por SSH
# Verifique que no existen multiples agentes ejecutándose
echo $SSH_AGENT_PID
ps -C ssh-agent
# Elimine los agentes que no coincidan con la variable $SSH_AGENT_PID
kill -9 {PID}
# 	Verifique que la clave privada se agrego al agente ssh
ssh-add -l
#   Verifique que las URL remotos están agregados 
git remote -v
# 	Verifique la conexión con github
ssh -vT git@github.com
# 	Verifique la conexión con el repositorio
git fetch

3.3. Comandos para crear y enviar un repositorio local ✔

# Crear un repositorio y enviar cambios
mkdir ~/repositorio && cd ~/repositorio
git init
echo "Repositorio de prueba" > README.MD
git add .
git commit -m "feat: readme initial commit"
git remote add origin git@github.com:GiancarloBenavides/repositorio
git push origin master
# Recuerde que puede gestionar git desde windows anteponiendo wsl
	# log de los últimos 10 commits en formato de una linea
wsl git log -10 --oneline

4.1 Configuración del editor de código ✔

Antes de comenzar a usar Git, debe hacerlo disponible en su computadora; Incluso si ha instalado la version compatible de git para windows, probablemente sea una buena idea actualizar a la última versión.

4.1.1. Instalar extensiones básicas de VScode ✔

4.1.2. Excluir archivos y carpetas ✔

  • Abrir el repositorio remoto (en WSL) desde VScode.
  • Puedes configurar Git para que ignore archivos que no quieres indexar.
  • No se hará seguimiento (versionado) de estos archivos o carpetas.
  • No se enviaran al repositorio remoto los cambios realizados en estos archivos.
  • Cree un archivo .gitignore en el repositorio desde VSCode.
  • Incluir los patrones a ignorar en el archivo .gitignore.

4.1.2.1. Ejemplo gitignore

# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
  • Usar la especificación Commits Convencionales para nombrarlos.
  • Personalizar el prompt de la terminal de wsl
ls -hal /usr/share/git-core/contrib/
find / -type d -name 'httpdocs'
sudo nano -l /usr/lib/git-core/git-sh-prompt

Mas Recursos

About

License:MIT License


Languages

Language:Shell 52.8%Language:Python 47.2%