====== Git ====== ===== Instalación ===== Si usamos Windows, debemos instalar git bash para que sea compatible: {{pasted_image_20230108121910.png|}} Durante la instalación, se nos mostrará lo que se va a instalar: {{pasted_image_20230108121919.png|}} Y ahora tenemos una terminal de Linux con git en su interior: {{pasted_image_20230108121927.png|}} ===== Configuración Inicial ===== Primero debemos configurar nuestro nombre y correo electrónico: {{pasted_image_20230108122315.png|}} {{pasted_image_20230108122318.png|}} Ahora hay que vincular Visual Studio Code con git, indicando que será nuestro editor de código por defecto: {{pasted_image_20230108122327.png|}} Ahora para comprobar que se haya hecho todo correctamente y para revisar nuestro archivo de configuración el visual studio code, ejecutamos este comando: {{pasted_image_20230108122336.png|}} Y ahora se nos abre el visual studio code automáticamente mostrando el archivo de configuración: {{pasted_image_20230108122346.png|}} Y ahora introducimos un último comando, donde será true si usamos windows, o será input si usamos mac o linux: {{pasted_image_20230108122355.png|}} Voy a crear una carpeta donde trabajaré con los comandos de git: {{pasted_image_20230108122402.png|}} Ahora dentro de esta carpeta vamos a inicializar un repositorio, lo cual sería el primer paso: {{pasted_image_20230108122409.png|}} Debemos tener en cuenta que dentro de este directorio se creó un directorio oculto que se llama .git, si queremos verlo hacemos lo siguiente: {{pasted_image_20230108122418.png|}} Dentro de este directorio, si miramos su contenido podremos ver diferentes archivos y directorios, aquí será donde se almacene la configuración de nuestros programas y lo que vayamos haciendo: {{pasted_image_20230108122434.png|}} Cuando estemos creando un programa y vayamos a subirlo a github, va a haber un proceso que será el siguiente: {{pasted_image_20230108122441.png|}} ===== Vincular un Repositorio Existente con Git Remote ===== Lo primero será inicializar un repositorio local con el comando git init: {{pasted_image_20230108122519.png|}} Y a continuación pegamos el link del repositorio con el comando git remote y especificando el nombre de la carpeta que creamos antes: {{pasted_image_20230108122526.png|}} Para comprobar que la conexión se realizó correctamente podemos usar el comando git remote -v: {{pasted_image_20230108122532.png|}} Para descargar el contenido del repositorio usaremos el comando git fetch y el nombre que pusimos antes: {{pasted_image_20230108122539.png|}} Pero para recibir de verdad los archivos debemos utilizar un git pull nombre_carpeta main: {{pasted_image_20230108122548.png|}} ==== Primer paso ==== El primer paso será crear el repositorio dentro de nuestro git bash con el comando git init: {{pasted_image_20230108122611.png|}} ===== Fase de Stage y Commit ===== En esta etapa de stage debemos primero abrir visual studio code desde el terminal en el mismo directorio, lo cual lo expresamos con el punto: {{pasted_image_20230108122625.png|}} Ahora se nos abrirá el editor de código, donde crearé un archivo python de prueba: {{pasted_image_20230108122631.png|}} Y ahora si vuelvo a la consola y pongo git status, podremos ver que el archivo prueba.py que he creado anteriormente no se encuentra seguido por git, ya que por defecto no lo hace: {{pasted_image_20230108122638.png|}} Y ahora si quiero seleccionar el archivo, debo hacerlo con el comando git add prueba.py: {{pasted_image_20230108122645.png|}} Y ahora si pongo un git status veremos como el archivo ya se encuentra seleccionado y de color verde: {{pasted_image_20230108122652.png|}} Ahora si yo por ejemplo creo otro archivo, este por defecto no va a estar seguido por git como podemos ver aquí: {{pasted_image_20230108122700.png|}} Ahora voy a añadir este archivo también con el comando git add: {{pasted_image_20230108122707.png|}} También, si quisiera añadir varios archivos a la vez, lo haría de esta manera: {{pasted_image_20230108122716.png|}} Qué ocurre si modifico un archivo, por ejemplo prueba.py y luego escribo un git status, veremos que git me marca que hubo una modificación: {{pasted_image_20230108122727.png|}} Y ahora si pongo un git status ocurrirá lo siguiente: {{pasted_image_20230108122737.png|}} Para actualizar estos cambios y añadirlos a git, debo volver a añadir el archivo: {{pasted_image_20230108122744.png|}} ===== Fase de Commit (para comprometer nuestro trabajo) ===== Para ello utilizo el comando commit -m “Primer commit” → Aquí utilizo un título de este commit, para indicar las modificaciones que hice: {{pasted_image_20230108122835.png|}} Ahora si usamos un git status veremos como no tenemos nada disponible para hacer un commit: {{pasted_image_20230108122842.png|}} ===== Eliminar un archivo y actualizar cambios en etapa stage y commit ===== Si eliminamos un archivo, deberemos marcar este cambio dentro de la etapa de stage, ya que ahora si miramos los cambios con git status veremos que nos marca que eliminamos un archivo: {{pasted_image_20230108123000.png|}} Y ahora para actualizar este cambio escribiremos git add archivo2.py, y así ya tendremos actualizado en nuestra etapa de stage esta modificación: {{pasted_image_20230108123013.png|}} Y ahora el siguiente paso será también hacer un commit para actualizar este cambio también: {{pasted_image_20230108123023.png|}} ===== Subir archivos a Github ===== PASO 1: git init PASO 2: git add archivo1 archivo2 PASO 3: git commit -m 'Subiendo archivos a github o gitlab' PASO 4: git remote add origin url.git PASO 5: git push -u origin master Aquí nos pedirá credenciales para iniciar sesión en github; y luego desde la web tenemos que hacer un merge para pasar estos cambios a la rama main. PASO 6: Si tenemos errores, hacemos un git reset y volvemos a probar: git reset ===== Conocer las modificaciones que tuvo un proyecto de Github ===== Si encontramos un proyecto donde tenga una carpeta .git, significa que se trata de un proyecto de github: {{pasted_image_20221217112510.png|}} En estos casos podemos ejecutar un comando que es git log, para conocer los cambios que se le hicieron a este proyecto; y vemos que hay una actualización con un token que dice que la carpeta .env se ha borrado: {{pasted_image_20221217112517.png|}} Pues ahora vamos a conocer exactamente qué han modificado con la web de antes y pegando ese token en el comando de git show, para conocer la información de este token: {{pasted_image_20221217112525.png|}} Y se nos muestra esta información, donde se nos especifican todos los cambios del proyecto: {{pasted_image_20221217112539.png|}}