Tu tienes una carpeta en la que quieres tener tu controlador de versiones, así que escribes en consola -git init
y listo.
Conforme vas creando documentos vas haciendo git add .
para ir guardando tus avances en el repositorio, y ves las diferencias con git show
, git show archivo.txt
, git diff
, git diff SHA
, git
Observas cuales son los archivos que faltan por agregar con git status
. Habrás agregado algunos cambios que en realidad no quieras y los remueves con git rm —cached archivo.txt
. Identificas archivos en versiones anteriores con git log archivo.txt
. Agregas archivos de versiones anteriores con git checkout SHA archivo.txt
.
Para guardar los cambios definitivamente escribes git commit -m 'vesion1'
, y puedes ver el historial de tus commits con git log
. Puedes ver cuantas lineas fueron cambiadas en cada commit git log --stat
, ver diferencias en commits con git diff SHA1 SHA2.
Si no te convence puedes regresar a una vesión anterior con git reset SHA —soft
, o si quieres eliminar por completo todo tu progreso git reset SHA —hard
, que elimina todos tus repositorios posteriores al SHA seleccionado.
Entonces Muestras tu proyecto, consigues un mejor trabajo y toca trabajar con compañeros. Asi que toca trabajar con un repositorio remoto como Github, GitLab, etc.
Con git clone url
descargas una copia del repositorio remoto del proyecto en el que trabajarás. Este se trae una copia de la versión actual a tu directorio de trabajo, y un historial de los cambios hechos al repo local, para que te aparezcan al hacer git log
.
Lo único que cambia en tu ciclo de trabajo es que al terminar de hacer tus cambios, la versión a mostrar a tus compañeros se manda con un git push
.
Al iniciar de nuevo tus labores deberías hacer un git fetch
para tener el historial de commits mas actualizada posible.
Y para tener la versión mas actual en mis archivos debería hacer un git merge
.
Si quieres hacer merge y fetch al mismo tiempo solo has git pull
, pero esta opción no te permite decidir en los cambios.