Vamos a conocer algunos comandos imprescindibles para trabajar con git tomando como caso de estudio la comunicación entre git y github para comunicar estos dos sistemas; por lo tanto, vamos a ver los comandos que más empleamos para tal fin.
Inicializar un repositorio
Para eso el comando de:
git init
Obtener la URL remota
Lo primero que debes de conocer si estas trabajando con un repositorio existente, es si ya tienes una URL remota asignada: para eso:
git remote -v
Si vemos una salida como la siguiente:
origin https://libredesarrollo:password@github.com/libredesarrollo/laradesarrollolibre.git (fetch)
origin https://libredesarrollo:password@github.com/libredesarrollo/laradesarrollolibre.git (push)
Ya tienes un remoto asignada, si no vemos nada; generalmente este remoto lo llamamos origin, que viene siendo el repositorio en github y se lo podemos establecer.
Establecer la URL remota
Para conectarnos a un repositorio que ya existe pero NO tenemos un remoto asignado en github (u otro):
git remote add origin <repo>
Por ejemplo:
git remote add origin https://github.com/libredesarrollo/vue-native-ruteo-base.git
Y si existe el origin y lo queremos cambiar (un remoto que ya tienes asignado), lo modificamos con el siguiente comando:
git remote set-url origin https://github.com/libredesarrollo/vue-native-ruteo-base
Puedes hacer nuevamente un remote -v para ver donde estas posicionado ahora.
Crear un tag/release
Para crear una etiqueta y generar un release en github con el estado actual del repositorio, tenemos el siguiente comando:
git tag -a V0.1 -m "Conexiones a ApiRest, listado y ruteo"
Y luego subir los cambios:
git push --tags
Un tag es ideal cuando queremos guardar una copia o espejo de lo que tenemos actualmente.
Renombrar una rama:
Esto es útil si estás empleando una versión antigua de git en la cual la rama principal se llama master por defecto, ahora la misma se aconseja que se llame como main:
git branch -M main
Agregar los cambios de nuestro proyecto
si queremos agregarlos todos
git add .
Si queremos agregar un archivo por uno:
git add miarchivo.html
Si queremos agregar solo lo de un determinado tipo:
git *.html
Preparar los cambios que vamos a subir
Una vez que tengamos los cambios agregados en nuestro repositorio local, con el comando de git add, lo siguiente que vamos a querer hacer sería publicar los mismos en nuestro repositorio remoto; pero antes, tenemos que preparar los cambios que queremos subir:
git commit -m "first commit"
Donde la opción de "m" es para indicar el mensaje.
Publicar los cambios en el repositorio
Ahora finalmente, con nuestro repositorio, lo siguiente que hacemos es publicar los cambios:
git push
Si te da un error como el siguiente:
cfd4d28..0b746ef main -> origin/main
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> main
Tienes que indicar con qué ramas remota y local vas a trabajar:
git push origin main
Inicializar y configurar un nuevo repositorio
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:libredesarrollo/vue-native-ruteo-base.git
git push -u origin main
Estos comandos son los más empleados por mi persona al momento de trabajar con git y un repositorio remoto como los que nos ofrece github.
Git add, commit y push
git add: staging area
El área llamada como staging es un área transitoria y temporal, donde podemos mover los archivos
modificados de nuestro espacio de trabajo al estado de preparados: para tal operacion es el:
git add tuarchivos
git commit: Guardar en el repo local
Los commits los empleamos para registrar los cambios que se han producido en el repositorio local.
git push: Publicar en un repo remoto
Con git push, finalmente podemos enviar nuestros cambios a un repositorio remoto o en internet (o en una intranet, si tienes un repositorio a nivel de tu red local).
git status
Cada vez que añadas algo al área de staging, puedes usar:
git status
Para comprobar qué archivos están ahí.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter