Comandos Git para usarlo con soltura:

Después de hacer el post de git en synology se me quedé con las ganas de dejar algunas notas más de git, tanto como recordatorio como para manejarse con tranquilidad.

Configurar el nombre y email para git: 
Normalmente lo pide al iniciar git por primera vez, por si necesitamos modificarlo

git config –global user.email email@delusuario.com
git config –global user.name nombre_usuario

–Generar atajos:
Supongamos que tenemos un comando largo que usamos mucho, por ejemplo:
git log –graph decorate –all –online
Para generar el alias haremos:
git config –global alias.NombreAlias “log –graph decorate –all –online”
Esto generará un alias y si hacemos: git nombrealias -> Hará lo mismo que la línea anterior.

Al hacer por primera vez el git config, se creará un archivo .gitconfig en la carpeta del usuario, en la misma raiz, y será oculto por supuesto, almacenando las configuraciones establecidas.

Crear Repo:

Recordar que para crear una nueva repo tenemos que tener algún archivo.
Dentro de la carpeta donde queremos iniciar Git:
—Para iniciar git en local:  git init
—Para iniciar git en server privado:  git init –bare

Remoto Repo:

git init –initial-branch=main
# Para añadir el remote
git remote add origin git@gitlab.com:RutaGit/app_name/proyecto.git

git remote -v (Nos mostrará los nombres y las url de los repositorios.
-Modificando remote:
git remote rename <nombre-actual> <nuevo-nombre>
git remote set-url <nombre-remoto> <nueva-url>*
git remote add <nombre-remoto> <url>
git remote remove <nombre-remoto>

Guardar cambios: add + commit + push y stash:

git add nombre_archivo.py (para añadir el archivo elegido)
git add . (añadirá todos los archivos con cambios)

git commit -m “Ejemplo al añadir texto”
git commit (Nos lleva a una pantalla, para insertar datos pulsamos “i”, para guardar “:wq”)
*Mejor siempre si añadimos el commit, Añadir un asunto, pulsamos “intro”, y detallamos lo cambios.

git push (para subir los cambios al server git)
git push –set -upstream origin main (Si es el primer push)

–Para guardar algo temporalmente sin necesidad de hacer commit:

git stash #(Nos guardará temporalmente los cambios de donde estemos)
git stash list #(Para ver el listado de stash, nos informa la rama de cual son los cambios)
*En este punto podemos movernos de rama y hacer lo que queramos, y cuando queramos seguir con este trabajo, iremos a la rama a la cual es del stash y le diremos:
git stash pop #(para volver a esta rama)
git stash drop #(borrará el stash)

Clonar Repo: 
Para clonar en server indicas la carpeta.

git clone ssh://user@direccion:puerto/duraDeCarpeta/NombreCarpeta

Borrar git:
Quieres borrar git?

git rm nombreArchivo.git (borra el git)
sudo git rm -R .git (Para borrar doda la carpeta)

LOG – Info de los archivos: 

git status (muestra cambios de archivos, rojo pendiente—verde agregado)
git log (ver comimos con todos los datos)
git log –oneline (ver log en fila)
git log –oneline –graph –decorate –all (ver resumen)
git log –graph –pretty=online
git reflog (nos muestra todos los commit aún borrando commits, por ejemplo al hacer el reset hard)

.gitignore (ocultando archivos): 

– Si no tenemos el archivo, en la raiz del proyectoo, debemos crear .gitignore

Dentro del archivo por cada filapondremos nombre archivo.xx o carpeta

**/__pycached__/
**/.DS_Store

Recordar que a este archivo si que se le hace push.

Ver diferencias:
Si queremos ver las diferencias en los archivos antes de subirlos:

git diff

Push para subir cambios: 

git push (para subir cambios al server)

*Si vas a subir una rama al poner el push a secas te dice el código como:

git push nombreRemoto (origin) nombreRama (Subir rama)
git push –set-upstream nombreRemoto (origin) nombreRama (Subir rama)

Pull para descargar de servidor: 

– git pull (descarga cambios del server)

Gestión de ramas: 

git branch (para ver en qué proyecto estamos)
git branch –list (ver listado de ramas)
git branch -a (ver listado de todas las ramas)
git branch NombreDeLaRamaCrear (Crear una rama)
git checkout nombreRama (Para movernos, crear una nueva o volver a un commit)
git switch nombreRama (Para movernos entre las ramas)
git branch -d nombreRama (Para eliminar la rama)
git cherrypick nºCommit (Traerá un commit a la rama actual)
git rebase nombreRama (Genera la rama como base)

Merge:
Para fusionar varias ramas de las creadas. Para poder hacer el merge iremos a la rama a la cual queremos traer esos cambios.

git checkout nombreRama (para movernos a ella)
git merge NombreRama con la que queremos hacer merge.

Con git status podríamos ver los nuevos cambios y ya podríamos guardar si quisiéramos.

En caso de conflicto, por ejemplo que hay varios cambios en la misma línea de código. Primero buscamos los cambios desde el mismo editor o con las diferencias y al solucionarlo, añadimos + commit y push.

Recuperar/Volver a versión de otro commit: 

git checkout NombreArchivo.py (vuelve al archivo al último punto de control)
git checkout HasDelCommit . (el punto es para acoger todos los archivos)
– git restore archivo.py  (para restaurar cambios)

*Recordatorio git log –oneline para ver nº de cambios.
git revert numCambio (Revierte los cambios a ese estado)
git reset –hard HasDelCommit (Revierte todo a ese punto borrando lo hecho después)
*En caso de error, si hacemos el git reflog podemos ver lo que hemos borrado y también podríamos usar el git reset –hard HasDelCommitBorrado para volver adelante.

TAG – Etiquetas: 
Almacena puntos con el nombre de la etiqueta.

git tag nombre_etiqueta
Por ejemplo git tag end_v1, esto se queda marcado y al guardar y subir, podríamos desplazarnos a ese tag con el comando:
git checkout tags/end_v1


Y hasta aquí las notas de git.

¿Quieres añadir algún comando más? deja tu comentario!

Salu2.

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *