Comandos de GIT conforme los he utilizado.
Esta publicación la iré actualizando de acuerdo a la experiencia que vaya teniendo. Obviamente existe la documentación oficial, pero aquí pongo las instrucciones de acuerdo con escenarios reales.
En mi día a día he tenido que trabajar con GIT. He utilizado SourceTree, GiKraken, Visual Studio, VS Code, que son bastante prácticos. Sin embargo, es importante conocer y saber utilizar los comandos que GIT nos proporciona. Todos los comandos deben ser ejecutados desde una ventana de comandos o terminal estando dentro de la carpeta del repositorio con el que se esté trabajando.
git config --global --unset credential.<URL>: Este comando elimina la configuración del proveedor de credenciales especificado por <URL> a nivel global (usuario).
git config --system --useet credential.helper: Este comando elimina la configuración del helper de credenciales a nivel sistema que GIT utiliza para guardar y recuperar credenciales..
git branch: Este comando lo utilizo para identificar las ramas existentes y cuál es la rama activa.
git status: Este me sirve para saber el estatus de la rama actual.
git checkout <NOMBRE-DE-LA-RAMA>: Se utiliza para cambiar a la rama que le indiques.
git checkout -b <NOMBRE-DE-LA-NUEVA-RAMA>: Para crear una rama local a partir de la actual y cambiar a esta nueva rama.
git checkout -b <nombre-de-la-nueva-rama> <hash-del-commit>: Para crear una rama local a partir de un commit en específico.
git restore .: Para restaurar todos los archivos modificados. al final lleva espacio y punto.
git pull: Para obtener el código más reciente de la rama actual.
Una vez que genero o me muevo a la que me interesa trabajar y termino los cambios, con los siguientes comandos registro esos cambios.
git add <nombre-de-la-carpeta>/: Estos agregan los archivos modificados dentro de la carpeta especificada al paquete de cambios por subir.
git commit -m "comentario descriptivo del cambio": Esto protege los cambios que haya hecho pero sin subirlos al servidor.
git push origin <nombre-de-la-nueva-rama>: Con esto hago efectivos los cambios en el servidor.
Por alguna razón que no me ha quedado clara, recientemente cuando recupero el código más actual de la rama base de la que estoy trabajando y luego integro esos cambios, en mi solicitud de integración (Pull request) en vez de mostrarme solo los archivos que he trabajado me muestra como modificados (con relación a la rama base) todos los archivos que actualicé e integré desde la rama base hacia mi rama. Así que he tenido que deshacer todos esos cambios en mi rama para que solo se integren los que efectivamente actualicé. Para eso hice esto:
git log para recuperar el historial de cambios e identificar el cambio que me interesa tomar como nuevo punto de partida. De ahí me interesa el hash
git reset --hard <hash del commit> para forzar ese commit como punto de partida y que descarte todos los posteriores (y que en mi caso fueron indeseados)
git add <ARCHIVO MODIFICADO>
git commit -m "<comentario>"
git status
git push origin <NOMBRE-DE-LA-RAMA> --force para forzar la carga de los cambios revisados y depurados, haciendo que el resto del historial sea eliminado y dejando este como último commit
Algo que es de todos los días, prácticamente, es descargar el código principal de la rama en la que está basada aquella que estoy trabajando. Así procuro tener el código lo más actualizado y funcional posible (siempre funcional). Para ello uso estos comandos:
git status: Es un paso opcional, y también se puede usar git branch
git checkout <RAMA-BASE>
git pull
git checkout <RAMA-DE-TRABAJO>
git merge <RAMA-BASE>: Para realizar la integración del código nuevo en la rama actual (rama de trabajo).
git add <ARCHIVO-CORREGIDO>: Para agregar al paquete de archivos por subir, el archivo con los conflictos resueltos.
git commit -m "<Comentario informativo>"
git push origin <RAMA-DE-TRABAJO>
Comentarios
Publicar un comentario