Repositorios GIT
Configuración
Los repos remotos cuelgan en una instancia de gitea alojada en docker y que podemos llegar a ella mediante:
http://192.168.1.156:3000/git-> En red localhttps://git.lechuga.eu/--> Por internet, con clave
Los repos técnicos están bajo el usuario git
Utilidades git
Instalar el programa tig para facilitar la gestión GIT
Inicialización de un repo
Si el directorio contiene archivos, los conserva.
Generar el entorno inicial
NOMBRE_PROYECTO=[nombre_proyecto]
touch README.md
git init
git checkout -b main
git add .
git commit -m "Primer commit"
git remote add origin http://192.168.1.156:3000/git/$NOMBRE_PROYECTO.git #o bien git.lechuga.eu
git push -u origin main
añadir y hacer commits y push
git commit -m "Mensaje de commit"
git push -u origin main
Crear un repo vacio
Se hace a través de https://srv.lechuga.eu/git/
con el usuario git
Clonar un repo
Este paso también sirve para la obtención inicial del repo.
En la máquina local hacemos un clone del repo de origen
Si es para un trabajo temporal, extraer en /tmp/
Del repo GITEA
# cambiar el valor de NOMBRE_PROYECTO con el nombre del proyecto a realizar
NOMBRE_PROYECTO=[nombre_proyecto]
cd [raíz de proyectos git]
# ... en la red local y boniato (via wireguard)
git clone http://192.168.1.156:3000/git/$NOMBRE_PROYECTO
Push
Cuando hacemos un cambio en los archivos locales y queremos actualizar el repo remoto
cd raiz_del_proyecto
git remote remove origin # Si hace falta, nos cargamos el remote acutal
git remote add origin http://192.168.1.156:3000/git/$NOMBRE_PROYECTO
git add . # Añade los ficheros modificados
git commit -m "Mensaje_de_commit" # Hace un commit con un comentario (el mensaje es obligatorio)
git push
Pull
Cuando queremos actualizar un repo local con la ultima versión del repo remoto.
git -c http.sslVerify=false pull
Si hay diferencias entre un repo y otro, cargara el branch y reportará que hay que conciliar las diferencias.
Para la magnitud de modificaciones que manejamos, hacemos la modificación manualmente (con la ayuda tig).
Restaurar la copia local
Atención al umask actual, ya que es el que se utiliza para generar los archivos (git sólo recuerda el exec bit)
git checkout .
Las siguientes ordenes hacen una especie de git clone pero sin bajar todo de nuevo
git checkout .
git clean -fdx