Sistema de control de versiones diseñado por Linus Torvalds pensando en la eficiencia y confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.
Caracteristicas:
Directorios en Git
Es donde se almacenan los metadatos y las bases de datos para nuestros proyectos. Es justamente lo que se copia cuando clonamos de un ordenador a otros archivos.
Es una forja para alojar proyectos usando el sistema de control de versiones de Git. Se usa principalmente para la creación de código fuente de programas de ordenador.
Caracteristicas
Nos ayuda a guardar el historial de cambios y crecimiento de los archivos de nuestro proyecto. Siempre deja en claro: ¿Dónde ocurrieron los cambios? ¿Cuándo ocurrieron? ¿Quién los hizo?
git init
: Inicia el repositorio git.git add <nombre archivo>
: Git comienza a hacen un seguimiento al archivo en cuestión.git add .
: Hace seguimiento a todos los archivos untracked.git commit -m "<mensaje>"
: Envía los últimos cambios del archivo a la base de dato s del sistema de control de versiones. Es como hacer una captura a guardar en el timepo los cambios realizados.git status
: Permite saber que archivos (y cuales no) fueron agregados al repositorio.git show
: Muestra todos los cambios realizados.git log <archivo>
: Para ver la historia completa de un archivo.Herramienta que brinda ayuda para escribir código. Los editores más populares son VScode, Sublime text y Atom.
.txt
) : Texto plano normal y sin nodo especial. Lo vemos igual sin importar donde lo abramos, ya sea con bloc de notas o con editores de texto avanzado..rtf
) : Permite guardar código con diferentes tamaños, colores y estilos. Si abrimos un archivo RTF en un editor de código vamos a ver que es mucho más complejo qu esolo el texto plano. Esto es porque para guardar los estilos de texto usa un código especial..docx
) : Podemos guardar imágenes y texto con diferentes tamaños, estilos o colores. Al abrirlo en un editor de código podemos ver que es código binario.C:\\
en UNIX es solo /
Git Bash usa la ruta \\c
para dirigirse a C:\\
(a veces \\d
) en windows.
pwd
: Muestra la ruta de carpetas en las que te encuentras.mkdir <nombrearchivo>
: Permite crear carpetas.touch <nombrearchivo>
: Permite crear archivos.rm <nombrearchivo>
: Permite borrar un archivo o carpeta.cat <nombre>
: Permite ver el contenido de un archivo.ls
: Permite ver los archivos de la carpeta donde estamos. Podemos usar uno o más argumentos para ver más información de estos archivos:
- - +
: Nombre del argumento.-ls -a
: Mostrar todos los archivos, hasta los ocultos.ls -l
: Para ver todos los archivos como una lista.cd
: Permite navegar entre carpetas
cd /
: Ir a la ruta principal.cd ~
: Ir a la ruta del usuario.cd <carpeta>
: Navear a una ruta dentro de la carpeta donde estamos.cd ..
: Rehresar a una carpeta atrás.history
: Ver los últimos comandos que ejecutamos y un número especial con el que podemos repetir su ejecución.! <numero>
: Ejecutar algún comando que nos muestra el comando history.clear
/ ctrl + l
: Limpiar la terminalTodos estos tienen una función de autocompletado. Puedes escribir la primera parte y presionar tab
para que la terminal nos muestre todas las posibles carpetas o comandos que se pueden ejecutar.
Cuando entramos a un directorio o carpeta desde el CMD y usamos el comando git init
ocurren dos cosas:
Se crea un área en la memoria RAM llamada staging. Es el estado temporal al que agregamos archivos que vamos cambiando.
Cuando tenemos un archivo y usamos en él el comando git add
se enviará al staging.
Si no damos git add
al archivo este estará sin rastrear o untracked.
Luego de rastrear un archivo usando git add
podemos usar el comando commit
para mandar el archivo al repositorio que por defecto se llama master
. En master
se guardarán todos los cambios.
El repositorio es la carpeta que conocemos como .git
Para traer un cambio del repositorio pero que no esta en nuestra carpeta vamos a su rama y usamos el comando checkout
para traer los cambios a nuestra carpeta o archivo.
Se dividen según el trabajo. Las ramas rompen en pedazos las líneas de código en una línea de tiempo. Ejemplo: En un equipo alguien se ocupa de la rama header y otro de la rama footer.
git add
: Añade un archivo a la ramaCuando se crea un repositorio en tu carpeta de trabajo se crea por defecto en una rama (branch) principal llamada master
.
Branch se puede ver como el mapa lineal de los commits que se han realiado al archivo.
Se usa checkout para crear una nueva rama desde el commit que desees en tu rama master. Esta rama isrve para hacer experimentos (rama development) o reparar errores en tu código (rama hotfix) sin afectar al mismo.
Para unir los cambios de dos ramas se usa el comando merge, de esta manera se unirán para formar una nueva rama.
Si las ramas tienen un conflicto para unirse git te avisará y te pedirá que las corrijas. Los conflictos pueden deberse a que se modificarán las mismas líneas del archivo en las dos ramas.
git checkout <branch>
: Se mueve a la rama escritaGit no nos permitirá hacer commits o trackear un archivo si no le decimos antes quienes somos para esto hacemos el siguiente proceso:
Escribimos:
git config --global [user.name](<http://user.name>) <email>
Escribimos:
git config --global [user.email](<http://user.email>) <email>
Si usamos el comando git config --list
podremos ver los cambios que acabamos de realizar.
git init
y asi creamos el repositorio.ls -al
podremos ver los archivos ocultos y que se ha creado una carpeta .git
git status
podemos ver que git detecta un archivo pero que no lo esta trackeando. También nos dice en qué rama estamos y su hubo commits.git add <nombre archivo>
. Al usar git status
de nuevo podremos ver que git trackea los datos pero que no ha habido commits.git rm --cached
.git status
antes.git status
veremos que los cambios estan guardados en la rama master.<aside>
💡 Ver el contenido de un archivo con cat <nombre archivo>
</aside>
Usamos el comando:
git log <nombre archivo>
Podemos ver un commit seguido de un largo número que sería su nombre.
También nos dice cuál es la versión más reciente (HEAD → master).
Debajo de cada commit dice quién hizo el commit, cuándo se hizo y el comentario.
git init
: Inicio de un repositorio.git add
: Añade un archivo a la rama. Escribimos el nombre del archivo o punto para toda la carpeta.git log <nombre>
: Ver el historial de cambios de un archivo.cat <nombre>
: Ver el contenido de un archivo.code .
: Abre el editor de código. Si añadimos un nombre de archivo lo abrirá directamente.history
: Historial de comandos.ls
: Contenido de una carpeta. Añadimos -al
para carpetas ocultas.git status
: Para ver el estado del directorio donde se declaró git init
.git -rm <nombre>
: Borra un cambio de la ram.git config
: Muestra todas las funciones disponibles.git commit
: Añade un commit a nuestra rama.El comando git show
nos muestra los cambios que han existido sobre los dos últimos commits de un archivo.