first commit
This commit is contained in:
+264
@@ -0,0 +1,264 @@
|
||||
**AYUDA GIT**
|
||||
=========
|
||||
|
||||
**https://git-scm.com/**
|
||||
|
||||
-------------------
|
||||
|
||||
**CONFIGURAR GIT. CONFIGURACION LOCAL**
|
||||
|
||||
git config --global user.name "Tu Nombre"
|
||||
git config --global user.email "tuemail@example.com"
|
||||
git config --global init.defaultBranch main Establecer main como rama por defecto en configuracion global
|
||||
git config --global --list muestra datos configuracion global del repositorio
|
||||
git config --list Muestra datos configuración global (usuario, email, etc.)
|
||||
git config --global core.autocrlf true Uso en windows
|
||||
git config --global core.autocrlf input Uso en Mac/Linux
|
||||
|
||||
-------------------
|
||||
|
||||
**CREAR REPOSITORIO EN GITHUB**
|
||||
Inicia sesión en tu cuenta de GitHub.
|
||||
Haz clic en el botón "New" en la esquina superior derecha.
|
||||
Asigna un nombre a tu repositorio, elige la visibilidad (público o privado) y haz clic en "Create repository".
|
||||
cd ruta/de/tu/carpeta
|
||||
GitHub, por defecto, crea repositorios con la rama main
|
||||
|
||||
-------------------
|
||||
|
||||
**COMANDO GIT BASICOS**
|
||||
git init Inicia un repositorio, crea una carpeta oculta .git donde Git almacenará los cambios.
|
||||
git add . Agrega los archivos al área de preparación (staging):
|
||||
git add nombre-del-archivo agregar uno específico
|
||||
git commit -m "mensanje descriptivo" Guardar los cambios, registra los cambios en el historial de Git
|
||||
git commit -am "mensaje" Agrega archivos modificados y hace el commit (no para archivos nuevos)
|
||||
git add . && git commit -m "mensaje" Agrega archivo nuevos y hace commit
|
||||
|
||||
git log Ver el Historial de Cambios, lista de commits
|
||||
git log --oneline --graph --all resumen compacto
|
||||
git reset nombre_archivo Deshacer los cambios, quitar archivos del area de preparacion. (antes de commit)
|
||||
git checkout -- nombre_archivo
|
||||
|
||||
git reset --soft HEAD~1 Deshacer el último commit
|
||||
git reset --hard HEAD~1 Eliminar completamente el último commit
|
||||
git rm archivo Eliminar del stage
|
||||
git mv Cambiar nombre del stage
|
||||
|
||||
.gitignore Ignorar archivos para seguimiento de Git
|
||||
Crear archivo .gitignore / editar archivos a ignorar
|
||||
git add .gitignore / git commit -m "commit git ignore"
|
||||
|
||||
-------------------
|
||||
|
||||
**PULL / PUSH**
|
||||
git push -u origin main Subir los archivos a repositorio remoto (GitHub, gitlab, etc, confirmar que se esta en la rama en git)
|
||||
git push -u origin master subir archivos si la rama local se llama master
|
||||
git push -u origin master:main Sube a remoto a la rama main el repositorio local de rama master
|
||||
git status status-s Ver el Estado del Repositorio / -s info resumida
|
||||
git pull origin main --rebase Sincroniza el local con el remoto (cambios en remoto que no hay que perder)
|
||||
|
||||
Sobreescribir repo remoto (el remoto tiene cambios que no me interesan y se pueden sobreescribir con la version de local)
|
||||
git push --force origin main
|
||||
|
||||
-------------------
|
||||
|
||||
**REPOSITORIOS**
|
||||
|
||||
git remote -v Ver el remoto actual
|
||||
git remote set-url origin NUEVA_URL Cambiar el remoto
|
||||
git remote remove origin Eliminar el remoto
|
||||
git remote add origin NUEVA_URL Agregar un nuevo remoto
|
||||
|
||||
git remote add origin https://github.com/tu-usuario/tu-repositorio.git Conectar el repositorio local con GitHub git remote add origin URL_DEL_REPO Añadir repositorio remoto (github, gitlab, etc...)
|
||||
git pull origin main Obtener Cambios del Repositorio Remoto (actualizar el codigo)
|
||||
git pull --rebase origin main Trae cambios (archivos) del remoto sin afectar al local. Despues add y commit.
|
||||
git clone URL_DEL_REPO Clonar un Repositorio
|
||||
|
||||
-------------------
|
||||
|
||||
**RAMAS**
|
||||
|
||||
git branch Ver las ramas esistentes
|
||||
git branch -a Ver todas las ramas, incluyendo las remotas
|
||||
git branch nueva-rama Crear una nueva rama (no te situa en la rama creada)
|
||||
git checkout nueva-rama Cambiar a una rama
|
||||
git switch nueva-rama Cambiar a una rama (nuevo sistema recomendado)
|
||||
git checkout -b nueva-rama Crear rama y cambiar a ella automaticamente
|
||||
git switch -c nueva-rama Crear rama e ir a ella, nuevo comando
|
||||
git merge rama Fusionar rama, integrar cambios (previamente situarse en la rama main/master)
|
||||
Si hay conflictos, Git te pedirá que los resuelvas manualmente antes de confirmar la fusión.
|
||||
git branch -d nueva-rama Eliminar una rama local (usa -D si la rama no ha sido fusionada y quieres forzar su eliminación).
|
||||
git push origin --delete rama Eliminar una rama remota:
|
||||
git fetch Trae rama a tu repositorio local git checkout nombre-de-la-rama
|
||||
git pull origin nombre-de-la-rama Trae rama a tu repositorio local con un solo comando
|
||||
git branch -m master main cambiar nombre de rama (cambia nombre rama master a main, para GitHub)
|
||||
git branch -d nombre-de-la-rama Eliminar una rama localmente
|
||||
git branch -m master main Renombrar rama máster a main
|
||||
|
||||
-------------------
|
||||
|
||||
**Resumen**
|
||||
Usa ramas para desarrollar nuevas funciones sin afectar main.
|
||||
Cambia entre ramas con git switch o git checkout.
|
||||
Fusiona cambios con git merge.
|
||||
Borra ramas innecesarias con git branch -d.
|
||||
Sube ramas con git push -u origin rama.
|
||||
|
||||
-------------------
|
||||
|
||||
**GITHUB TOKEN**
|
||||
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
|
||||
|
||||
clonar un repositorio privado utilizando el toquen
|
||||
git clone https://<TOKEN>@github.com/codibytex/python_scripts.git
|
||||
|
||||
ejemplo practico con el token generado:
|
||||
git clone https://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@github.com/codibytex/python_scripts.git
|
||||
|
||||
https://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@github.com/codibytex/detenpol.git
|
||||
|
||||
echo "# fusionar_comprimir_pdf" >> README.md
|
||||
git init
|
||||
git add README.md
|
||||
git commit -m "first commit"
|
||||
git branch -M main
|
||||
git remote add origin https://github.com/codibytex/fusionar_comprimir_pdf.git
|
||||
git push -u origin main
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
###### GITEA BACKUP
|
||||
|
||||
###### **Gitea en docker**
|
||||
|
||||
**backup**
|
||||
|
||||
docker exec -it gitea bash
|
||||
|
||||
gitea dump
|
||||
|
||||
Esto generará un archivo tipo:
|
||||
|
||||
`gitea-dump-YYYY-MM-DD.zip`
|
||||
|
||||
Normalmente se guarda en:
|
||||
|
||||
`/data`
|
||||
|
||||
Copia el backup al host
|
||||
|
||||
`docker cp gitea:/data/gitea-dump-YYYY-MM-DD.zip .`
|
||||
|
||||
|
||||
|
||||
**Restore**
|
||||
|
||||
1️⃣ Copia el dump al contenedor (si no está ya dentro)
|
||||
|
||||
Si el ZIP está en el host:
|
||||
|
||||
docker cp gitea-dump-YYYY-MM-DD.zip gitea:/data/
|
||||
|
||||
2️⃣ Detén el contenedor de Gitea
|
||||
|
||||
docker stop gitea
|
||||
|
||||
⚠️ Importante: no restaures con Gitea corriendo.
|
||||
|
||||
3️⃣ Entra al contenedor
|
||||
|
||||
docker exec -it gitea bash
|
||||
|
||||
4️⃣ Ejecuta la restauración
|
||||
|
||||
gitea restore --file /data/gitea-dump-YYYY-MM-DD.zip
|
||||
|
||||
Esto:
|
||||
|
||||
- Restaura repositorios
|
||||
|
||||
- Restaura base de datos
|
||||
|
||||
- Restaura configuración
|
||||
|
||||
- Restaura issues, PRs, usuarios, etc.
|
||||
|
||||
5️⃣ Sal y arranca el contenedor
|
||||
|
||||
exit docker start gitea
|
||||
|
||||
|
||||
|
||||
**Gitea en volumen docker.**
|
||||
|
||||
Copiar directamente los volúmenes (rápida y eficaz)
|
||||
|
||||
Si usas `docker-compose`, normalmente tienes algo así:
|
||||
|
||||
`volumes: - ./gitea:/data`
|
||||
|
||||
`docker compose down`
|
||||
|
||||
tar czvf gitea_backup.tar.gz gitea/`
|
||||
|
||||
`docker compose up -d`
|
||||
|
||||
|
||||
|
||||
###### Copiar solo los repositorios (NO recomendado como único backup)
|
||||
|
||||
Los repositorios están en:
|
||||
|
||||
`/data/git/repositories`
|
||||
|
||||
Puedes copiarlos así:
|
||||
|
||||
`docker cp gitea:/data/git/repositories ./repos_backup`
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
**Gitea snap**
|
||||
|
||||
**backup**
|
||||
|
||||
sudo gitea dump
|
||||
Esto genera un archivo como:
|
||||
|
||||
gitea-dump-YYYY-MM-DD.zip
|
||||
Por defecto se guarda en: /var/snap/gitea/common
|
||||
|
||||
**Restaurar**
|
||||
|
||||
1️⃣ Detén Gitea:
|
||||
|
||||
sudo snap stop gitea
|
||||
|
||||
2️⃣ Restaura:
|
||||
|
||||
sudo gitea restore --file gitea-dump-YYYY-MM-DD.zip
|
||||
|
||||
3️⃣ Arranca Gitea:
|
||||
|
||||
sudo snap start gitea
|
||||
|
||||
|
||||
|
||||
Backup automático con cron (recomendado) Snap
|
||||
|
||||
Ejemplo de **backup diario a las 2:00 AM**:
|
||||
|
||||
`sudo crontab -e`
|
||||
|
||||
Añade:
|
||||
|
||||
`0 2 * * * gitea dump --file /var/backups/gitea/gitea-$(date +\%F).zip`
|
||||
|
||||
(asegúrate de crear antes la carpeta `/var/backups/gitea`)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user