Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.
Git Hub es una forma para alojar proyectos utilizando el sistema de control de versiones de Git. GitHub sería la red social de código para los programadores.
Sistemas de control de versiones. Sólo guardan los cambios, y dejan claro dónde ocurrieron, cuándo ocurrieron, quién los hizo; podemos volver a ellos en el pasado, entre otras cosas. El sistema de control de versiones más popular es Git, es el sistema que maneja el kernel de Linux.
git init
—> Este comando empieza en la carpeta un repositorio, que es la base de datos donde se van a guardar los cambios de cualquier archivo.git add nombre_archivo.txt
—> Con esto, la base de datos de cambios, el sistema de control de versiones Git, ahora sabe que existe nombre_archivo.txt.git commit -m "mensaje"
—> Es el que envía los últimos cambios del archivo a la base de datos del sistema de control de versiones, para controlar los cambios que se le hayan hecho. El -m
es para agregar un mensaje, es una buena práctica.Después de hacer los cambios, guardo el archivo y ya lo tengo en el disco duro, pero todavía no en el repositorio. Para guardarlos en el repositorio tengo que volver a agregar el archivo (es opcional).
git add .
—> Es una opción para agregar archivos. Con el punto .
lo que hace es que agrega todos los archivos que hayan cambiado en la carpeta donde estoy en ese momento.git commit -m "cambios a v1"
—> Quedan los cambios hechos y grabados.git status
—> Para ver cómo está el status de mi base de datos.git show
—> Muestra todos los cambios históricos hechos, incluyendo cuáles han sido las líneas de código o de texto o de cualquier archivo que hayan cambiado, cuándo se han hecho esos cambios y quién los hizo.git log nombre_archivo.txt
—> Para ver la historia entera de un archivo.git push
—> Permite enviar hacia otro repositorio remoto lo que estoy haciendo.