Aprende Git y Github desde cero 2026 [Forma fácil] | Code Bless You | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Aprende Git y Github desde cero 2026 [Forma fácil]

teacher avatar Code Bless You, Make Coding Easy To Learn

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción a la clase magistral de Git

      3:03

    • 2.

      ¿Qué es Git y Github?

      4:47

    • 3.

      Varias formas de usar Git

      4:24

    • 4.

      Configuración de Git en nuestro sistema

      3:23

    • 5.

      Configura los detalles de usuario para git

      5:43

    • 6.

      Cómo hacer que Git Bash se vea bien

      1:23

    • 7.

      Sección 02: conceptos básicos de Git

      0:49

    • 8.

      Inicializa el proyecto Git

      3:49

    • 9.

      ¿Cómo funciona realmente Git?

      6:14

    • 10.

      Ejercicio: flujo de trabajo de Git

      0:46

    • 11.

      Agregado de archivos a la zona de preparación

      3:31

    • 12.

      Comprometamos tu primer archivo

      2:24

    • 13.

      Cuándo debes comprometerte

      2:34

    • 14.

      Ejercicio para comprometerse

      1:54

    • 15.

      Cómo omitir la zona de presentación

      2:10

    • 16.

      Eliminación de archivos de áreas

      2:49

    • 17.

      Cómo ignorar archivos en Git [GitIgnore]

      9:50

    • 18.

      Cómo ver los cambios entre áreas

      6:39

    • 19.

      Shortcut for Status

      2:45

    • 20.

      Ver el historial de confirmaciones.

      2:54

    • 21.

      Cómo desorganizar los archivos

      3:19

    • 22.

      Descartado de cambios en los archivos locales

      2:58

    • 23.

      Restauración a la versión anterior

      2:47

    • 24.

      Operaciones básicas de Git en código VS

      2:49

    • 25.

      Introducción a GitHub para escritorio

      3:46

    • 26.

      Introducción a GitKraken

      3:05

    • 27.

      Sección 03: observar el historial de códigos

      0:39

    • 28.

      Proyecto local de clonación

      0:48

    • 29.

      Comando Log en detalle

      2:44

    • 30.

      Filtrado del historial

      4:55

    • 31.

      Cómo configurar alias para comandos

      2:12

    • 32.

      Ver Compromiso específico en Detalles

      2:08

    • 33.

      Cómo comparar dos compromisos

      1:10

    • 34.

      Volver a una versión específica

      4:24

    • 35.

      Detección del error en Git Bisect

      4:14

    • 36.

      Cómo obtener la lista de contribuyentes

      1:19

    • 37.

      Historial de navegación del archivo

      1:33

    • 38.

      Ver al autor de cada línea [Git Blame]

      1:55

    • 39.

      El marcado se compromete con etiquetas

      3:41

    • 40.

      Historial de compromisos en Github para escritorio

      1:53

    • 41.

      Historial de navegación en VS Code y GitKraken

      5:01

    • 42.

      Sección 04 Cómo trabajar con ramas

      0:25

    • 43.

      Qué es una rama

      2:22

    • 44.

      Creación de una nueva rama

      4:54

    • 45.

      Observa los cambios entre las ramas.

      3:18

    • 46.

      Domina el stacing

      6:45

    • 47.

      Cómo entender la fusión en Git

      4:25

    • 48.

      Aplicar una fusión rápida

      2:07

    • 49.

      Fusión no rápida

      5:41

    • 50.

      Cómo entender la fusión de tres maneras

      4:17

    • 51.

      Despeja la rama después de fusionarla

      1:56

    • 52.

      Cómo resolver conflictos en Git

      6:08

    • 53.

      Abortar el conflicto en la función Merge

      0:47

    • 54.

      Restablece el compromiso de fusión

      4:43

    • 55.

      Invierte el compromiso de fusión

      2:02

    • 56.

      Fusión de comprimidos en el historial de compromiso

      7:17

    • 57.

      Cómo volver a colocar la rama en el nivel de una base

      5:45

    • 58.

      Resolución de conflictos mientras se rebasa

      4:16

    • 59.

      Técnica de punta cherry

      4:37

    • 60.

      Añadir un archivo específico a otra rama

      2:07

    • 61.

      Ramificación y fusión en código VS

      6:04

    • 62.

      Ramificaciones y fusiones en Github para escritorio

      2:15

    • 63.

      Ramificaciones y fusión en GitKraken

      5:27

    • 64.

      Sección 05 Cómo trabajar en equipo

      0:44

    • 65.

      Descripción general del trabajo en equipo

      4:35

    • 66.

      Cómo subir el proyecto en Github

      4:13

    • 67.

      Cómo crear un nuevo proyecto en GitHub

      3:35

    • 68.

      Agregar miembros del equipo al proyecto

      1:50

    • 69.

      Clona un repositorio de Git en nuestra máquina

      5:23

    • 70.

      Cómo hacer cambios

      3:45

    • 71.

      Haz los cambios

      4:36

    • 72.

      Haz cambios en el repositorio remoto

      3:08

    • 73.

      Enviar las etiquetas a distancia

      2:20

    • 74.

      Crea publicaciones para Github

      3:15

    • 75.

      Trabajar con ramas

      6:38

    • 76.

      Escenario real para trabajar con Branch

      2:45

    • 77.

      Muestra práctica de cómo trabajar con rama

      9:55

    • 78.

      Cómo crear pull requests en Github

      12:05

    • 79.

      Resolución de conflictos mientras se realizan solicitudes de extracción

      3:59

    • 80.

      Creación de problemas en Github

      3:04

    • 81.

      Cómo añadir hitos en GitHub

      3:21

    • 82.

      Flujo de trabajo en un proyecto de código abierto

      2:08

    • 83.

      Cómo trabajar en un proyecto de código abierto

      4:01

    • 84.

      Sincronizar Local y Fork con el repositorio base

      1:37

    • 85.

      Herramientas de colaboración en VS Code

      2:39

    • 86.

      Colaboración con GitHub para escritorio

      2:54

    • 87.

      Colaboración con GitKraken

      4:26

    • 88.

      Sección 06: limpieza y organización del historial

      0:26

    • 89.

      Reescritura de la historia de compromisos

      1:46

    • 90.

      Deshacer la confirmación en los detalles (REINICIAR)

      4:57

    • 91.

      Revertir los compromisos

      5:08

    • 92.

      Reflexionar para recuperar compromisos perdidos

      4:05

    • 93.

      Modifica el Compromiso reciente

      3:57

    • 94.

      Modifica cualquier compromiso en el historial

      6:06

    • 95.

      Cómo dejar de lado todo

      6:44

    • 96.

      Cambiar el mensaje de compromiso

      2:37

    • 97.

      Cambia las posiciones de los compromisos

      2:00

    • 98.

      Cumple dos o más compromisos

      3:51

    • 99.

      Divide compromisos

      5:05

    • 100.

      Reescritura del historial con GitKraken

      3:15

    • 101.

      Sección 07 Comandos de Git más utilizados

      0:17

    • 102.

      Fundamentos y comandos de historia de Git

      3:30

    • 103.

      Comandos de rama y fusión

      4:00

    • 104.

      Trabaja con comandos de equipo

      2:05

    • 105.

      Muchas gracias

      1:11

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

64

Estudiantes

1

Proyectos

Acerca de esta clase

Te damos la bienvenida a la clase magistral de Git, ¡tu guía completa para dominar el control de versiones! Este curso de Skillshare está diseñado para desarrolladores, diseñadores y gerentes de proyectos que quieran aprender a gestionar sus proyectos de manera eficiente, colaborar sin problemas y llevar sus habilidades de control de versiones al siguiente nivel. Tanto si eres un principiante que comienza tu trayectoria en Git como un profesional experimentado que busca perfeccionar sus habilidades, este curso tiene algo para ti.

Lo que aprenderás

En esta clase magistral, te sumergirás en profundidad en las potentes herramientas y flujos de trabajo de Git. Al final del curso, serás capaz de gestionar con confianza los repositorios de código, colaborar con los miembros del equipo y mantener un historial de proyectos limpio.

Esto es lo que cubriremos:

  1. Conceptos básicos de Git:

    • Comprende los fundamentos del control de versiones y por qué Git es el estándar de la industria.
    • Aprende a instalar Git y a configurar tu primer repositorio.
    • Realiza un seguimiento de los cambios, crea compromisos y administra archivos de manera eficiente.
  2. Creación de ramificaciones y fusiones:

    • Trabaja con las ramas para organizar tu proceso de desarrollo.
    • Cómo unir las ramas sin problemas y resolver conflictos como un profesional.
  3. Colaboración con GitHub:

    • Pasa, extrae y clona repositorios desde/hacia GitHub.
    • Comprender las solicitudes de extracción y cómo revisarlas y fusionarlas.
    • Gestionar eficazmente los repositorios remotos.
  4. Técnicas avanzadas de Git:

    • Reescribe la historia con rebases y enmiendas.
    • Usa el almacenamiento para guardar y restaurar los cambios.
    • Explora los flujos de trabajo de Git, como las ramas de funciones y GitFlow.
  5. Manejo de errores y conflictos:

    • Diagnostica y resuelve problemas comunes de Git.
    • Aprende a deshacer cambios, restablecer compromisos y limpiar tu repositorio.
  6. Mejores prácticas para equipos:

    • Escribir mensajes de compromiso claros.
    • Repositorios estructurados para una colaboración escalable.
    • Implementa flujos de trabajo para optimizar el desarrollo del equipo.

A QUIÉN ESTÁ DIRIGIDA LA CLASE

Este curso es perfecto para:

  • Principiantes: comienza tu viaje con Git con lecciones claras y aptas para principiantes.
  • Usuarios intermedios: perfecciona tus habilidades con flujos de trabajo y comandos avanzados.
  • Equipos: aprende técnicas de colaboración para que el trabajo en un entorno de equipo sea perfecto.
  • Freelancers y desarrolladores solitarios: gestiona tus proyectos profesionalmente, incluso cuando trabajes solo.

¿Por qué tomar estar clase?

  • Habilidades prácticas: Git es una herramienta imprescindible en el mundo actual, impulsado por la tecnología. Este curso te dotará de habilidades Git para el mundo real que podrás aplicar inmediatamente.
  • Guía paso a paso: cada lección está cuidadosamente diseñada para construir tu conocimiento paso a paso, asegurándose de que no haya lagunas en tu comprensión.
  • Proyectos prácticos: practica lo que aprendes trabajando en un proyecto real, desde la inicialización hasta el despliegue.

Conoce a tu profesor(a)

Teacher Profile Image

Code Bless You

Make Coding Easy To Learn

Profesor(a)

Hi! I'm a passionate software engineer from Code Bless You and I love to teach about coding and general skills in less time. I've taught many people how to become professional software engineers.

My goal is to make coding fun for everyone. That's why my courses are simple, animated, and with practical implementation.

Learn by doing

Step-by-step tutorials and project-based learning.

Get support

One-on-one support from experts that truly want to help you.

don’t stress. have fun.

I can't wait to see you in class!

- Code Bless You

Ver perfil completo

Habilidades relacionadas

Desarrollo Herramientas de desarrollo GitHub
Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Clase magistral de introducción a Git: Bienvenido al curso ultimate it. En este curso, lo vamos a aprender desde cero hasta conceptos más avanzados. Empezamos con ¿qué es? Por qué a todas las empresas les encanta, cómo funciona realmente Git, configura Git en nuestro sistema. Conceptos básicos de Git como poner en escena los archivos y cometer el ignorar algunos archivos Después de eso, tenemos sección completa para navegar por el historial de commit. En eso, podemos comparar dos commits, volver a especificarlo, agregar textos. Después de eso, tenemos sección para sucursales y fusión, que es el tema más importante de kit También veremos probar los cambios, diferentes tipos de fusión, resolución de conflictos como Pro, tipos de reset, técnica de picking de cereza, después de eso, tenemos sección para trabajar en equipo en la que te mostraré prácticamente cómo los miembros del equipo trabajan juntos usándolo En eso, tenemos clonación, padging, pull, push. También algunas características adicionales de github como lanzamientos, temas, hitos, contribuyen en proyecto de código abierto Después de eso, veremos cómo organizar nuestro historial de proyectos para que nuestro proyecto se vea más profesional, Modificar los commits existentes, dividiéndolos y machacándolos mucho, mucho más cosas Entonces en este curso, aprenderemos Git en ambos sentidos. Primero, veremos Enfoque de línea de comandos, y luego te mostraré cómo podemos hacer lo mismo usando herramientas GI como Gitub desktop, código Visa Studio y Git Pero como sabrás, las herramientas GI tienen características poco limitadas. Entonces es por eso que aprender comandos de Git es muy importante para nosotros. Si no sabes nada de Git o estás confundido acerca de los conceptos de Git o quieres dominar kit y Github, entonces este curso es para ti. Ahora podría preguntarse, ¿quién soy? Soy ingeniero de software y además enseño programación en lenguaje fácil de explicar usando mi canal de YouTube, Dios los bendiga, y con mis cursos en línea. Y en este curso, también te voy a dar algunos proyectos en los que puedes practicar los comandos del kit por Como puedes seguir conmigo porque cuando escribes comandos de Git por tu cuenta y experimentas con ellos, entonces entenderás que ordena correctamente. Cometer errores, aprende de los errores y hazlo hasta que domines esa habilidad Después de completar este curso, comprenderás correctamente cómo funciona el kit y lo usarás con confianza sin confundirte y usando las mejores técnicas Sé que estás emocionado de aprenderlo y Github, así como saltar y sumergirte en este curso. 2. ¿Qué es Git y Github?: Entonces antes de empezar a aprender la marcha, veamos qué es Git Git es el sistema de control de versiones más popular. Ahora podría preguntarse a qué me refiero con Sistema de control de versiones. Sistema de control de versiones significa que nos ayuda a mantener un registro de diferentes versiones de nuestro proyecto. Déjame explicarte con un ejemplo del mundo real. Imagina que estás trabajando en una aplicación de comercio electrónico. Ahora después de algún tiempo, realmente te equivocaste con tu código y no puedes identificar errores y no puedes resolverlos. Tú decides empezar de cero. Ahora bien, ¿cuál es la solución de que esta situación no vuelva a suceder? Una solución es que puedes duplicar tu proyecto y darle un nombre como versión 1.0. Y guárdala en algún lugar como respaldo. Entonces si en el futuro, volviste a estropearte, puedes volver a ese código de la versión 1.0 Ahora, a medida que introduce nuevas funciones, sigue tomando copias de seguridad y creando versiones de su aplicación. Pero tomar copias de seguridad manualmente lleva a muchos problemas, como problema de almacenamiento. Además, crea mucha confusión, como en la versión 1.0, qué características agregamos o eliminamos. Además, imagina que tienes un miembro del equipo más trabajando en el mismo proyecto, entonces tienes que hacerlo así tus copias de seguridad y qué cambio en esos proyectos, no puedas rastrear. Crea mucha confusión y estrés para el equipo. En ese momento el kit viene en la imagen. Kit nos ayuda a almacenar diferentes versiones de nuestros proyectos de manera muy sistemática y sin necesidad de tener almacenamiento extra. Supongamos que está trabajando en el archivo SML de punto índice, desea tomar copia de seguridad de su código actual Dile a Git, guarda este código de archivo en la historia. G toma una instantánea de tu código y simplemente guárdalo en su almacenamiento. Ahora, a medida que tu aplicación crece, tomas múltiples captura de pantalla y las guardas en el almacenamiento Git. Cuando quieras ver una versión en particular, Git te mostrará el historial de tu proyecto y podrás restaurar fácilmente ese código. Ahora puedes decir que entendemos que Git rastrea nuestro historial de proyectos, y es por eso que no necesitamos preocuparnos por las copias de seguridad manuales, sino de cómo resuelve problemas trabajando en equipo. Es otro tema. Déjame explicarte eso rápidamente. Aquí usted y los miembros de su equipo trabajan individualmente en el mismo proyecto, y ambos usan kit para rastrear el historial de su proyecto. Ahora, cuando hayas terminado con tu única tarea, entonces puedes tomar tu instantánea de código en Kit y subir ese proyecto en el servicio Cloud, lo que nos permite subir proyectos de kit. Ahora el miembro de tu equipo consigue tu proyecto o carpeta Git de este servicio Cloud y empieza a trabajar en eso. Cuando haya terminado con el pantano, entonces puede tomar instantáneas y cambios actualizados en el servicio Cloud Y ¿puedes adivinar qué servicio Cloud más utilizado por los desarrolladores? Cierto, es Github. Git y Github es diferente. Git es un sistema de control de versiones, y Github se utiliza para alojar proyectos Git en la Nube y también Github proporciona más funciones. Al usar Git y GitHub, podemos trabajar fácilmente en equipo sin enviarnos correos electrónicos al frente. No te preocupes. Esto lo entenderemos muy profundamente en la próxima sección. De hecho, tenemos toda la sección donde prácticamente te muestro cómo los desarrolladores trabajan entre sí. Para tapar rápidamente, es el sistema de control de versiones más popular. Con Git, podemos rastrear nuestro historial de proyectos de manera muy efectiva. Por lo tanto, no necesitamos preocuparnos copia de seguridad y recuperación manual. También por Git, podemos saber cuándo se realizan cambios particulares con fecha y hora y también quién hizo esos cambios. Además, Git hace que colaborar con los miembros del equipo sea muy fácil y muchos más beneficios que veremos en este curso. Es por eso que casi todas las empresas quieren desarrollador que conozca muy bien a Git, y por eso cada desarrollador necesita aprender Git y Github. Aquí en este curso, vamos a aprender Git muy profundamente. Estoy muy entusiasmado con esto y espero que tú también lo estés. Nos vemos en la siguiente lección. 3. Varias formas de usar Git: Ahora, déjame mostrarte las diversas formas usar Git como desarrollador. Entonces, la primera forma es que puedes usarlo en Línea de comandos, que significa que abres tu terminal y comienzas a escribir comandos para acceder a Git. Esta es una de las formas simples y fáciles de usar gate, y muchos desarrolladores prefieren la línea de comandos. Ahora bien, si no te gusta usar el enfoque de línea de comandos, entonces puedes usar nuestros editores de código para acceder a la puerta. Por ejemplo, en código VS, por defecto, obtenemos el panel de control fuente. Usando este panel, podemos realizar operaciones básicas de git. Ahora podrías preguntar, ¿qué pasa con que queremos usar más funciones de git? No te preocupes por eso. Tenemos una extensión de código VS llamada Gitans que es la extensión Git más popular y más utilizada Se puede ver que esta extensión es descargada por casi 30 millones de usuarios. También puedes usar esta extensión. Ahora, otra forma de usar su mediante el uso de la interfaz gráfica de usuario o GUI. GI significa que podemos usar una aplicación que está especialmente hecha para usar Git. Hoy en día, la aplicación Git más utilizada y sencilla es Github desktop. La aplicación de escritorio Gitub hizo que el kit fuera tan simple para los principiantes de Gate pero es una estructura súper simple y fácil de entender, pero no tiene todas sus características Si quieres usar otra herramienta GI, que tenga más funciones que Github desktop, entonces puedes usar Gate gracon Esta también es una herramienta popular para Git, pero su interfaz de usuario es poco compleja que la aplicación de escritorio Github. Pero al final de este curso, definitivamente te gustará Gate gracon Te mostrará por qué en próximas secciones. Ahora podrías preguntar, ¿cuál es la mejor manera de usarlo? Y la respuesta es el enfoque de línea de comandos, y al 70% a los desarrolladores les gusta usar el enfoque de línea de comandos. La primera razón es esto todas las herramientas GI, ya sea Github desktop o Kraken, viene con algunas limitaciones, lo que significa que para alguna tarea, definitivamente necesitas usar Línea de comandos Al usar la línea de comandos, puedes realizar todas las tareas relacionadas con Git. Otra razón es que yo las herramientas no siempre están disponibles para ti. Por ejemplo, a veces el servidor no permite usar herramientas GI para Git por alguna razón. En ese momento, si no conoces los comandos de Git, entonces te quedarás atascado en esta situación. La mayoría de las veces, a muchos desarrolladores les gusta usar tanto las herramientas GI como la línea de comandos, y también soy uno de ellos. Eso es lo que te enseñaré en este curso. Primero aprenderemos el enfoque de la línea de comandos, y luego también veremos esos conceptos usando herramientas GI. Aprenderás en ambos sentidos y luego tendrás que elegir la herramienta adecuada para la tarea que estás realizando. Déjame contarte un incidente en mi empresa donde trabajé como ingeniero de software. Había un tipo que realizaba todas las tareas del kit usando la línea de comandos, incluso tarea compleja también. Cree que se ve genial usar la línea de comandos para cada tarea. Pero todos sabemos que podemos realizar esa tarea mucho más fácil usando las herramientas I. Así que no te vuelvas como ese tipo. Hay que pensar inteligente. De esa manera puedo completar esta tarea más rápido y sin confundirme. Pasaremos la mayor parte de nuestro tiempo usando la línea de comandos porque es más rápida. Pero cuando pienso que usar la herramienta I es más beneficioso, entonces te mostraré así la manera de herramienta GI. Además, muchos desarrolladores principiantes tienen mucho miedo de usar la línea de comandos, o puedo decir recordando los comandos para andar, pero no te preocupes, te enseñaré todo de manera sencilla paso a paso y fácil de lo que piensas Obtendrás la confianza para usar Git como profesional. Ahora en la siguiente lección, veremos cómo instalar Git en nuestro sistema. 4. Configurar Git en nuestro sistema: Así que vamos a instalar Git en nuestro sistema. Pero antes de eso, vamos a comprobar si Git ya está disponible en nuestro sistema o no. Y para ello, usamos terminal. Entonces, si eres usuario de Windows, entonces presiona la tecla Windows y escribe CMD Y si eres Mcuser, entonces presiona Comando más espacio y escribe terminal Estoy usando Windows, así es como se ve mi terminal o CMD Tu terminal podría verse diferente. No importa. Entonces antes que nada, aquí escribimos git version para saber qué persona Git está instalada en nuestro sistema. Ver aquí obtenemos Git no es reconocido como un comando interno o externo. Si está recibiendo el mismo mensaje, entonces no está instalado en su sistema, y si obtiene la versión, entonces tiene que asegurarse de que la versión no sea demasiado antigua como dos o mayor que dos. Asegúrate de actualizar tu gaiterson con eso, puedes seguirlo fácilmente Así que para instalar o actualizar Git, abrimos nuestro navegador y buscamos aquí Git descargar Abre este post it sitio web. Bonito. Así que la última versión de Git es 2.44 0.0 Si estás viendo este curso en el futuro, es posible que obtengas una versión diferente, pero no te preocupes, aún puedes seguir este curso. Confía en mí, no obtienes ningún error. Desde aquí, puedes ver como tu sistema operativo, o simplemente podemos hacer clic en este botón. Da click aquí para descargar y verlo comenzar a descargar g. encantador. Ahora, vamos a abrir esta configuración. Primero, va a pedir permiso. Así que permítelo, haga clic en siguiente. Aquí puede seleccionar Ruta de instalación, así que haga clic en siguiente, siguiente, siguiente, y desde aquí, podemos seleccionar nuestro editor de código predeterminado. Voy a usar código de Visual Studio o VSCode porque casi 90% los desarrolladores usan VSCode y Siguiente, y haga clic en siguiente. A continuación, haga clic en siguiente. Haga clic en siguiente hasta que obtenga Instalar e iniciar la instalación. Hecho y haga clic en Finalizar. Ahora abre el menú de inicio y busca en Git Bash, que es la interfaz de línea de comandos para proporcionar la interfaz de terminal para el sistema Windows Para el resto de este curso, usaremos la CLI base de Git para escribir comandos de Git Si eres Mguser, entonces tienes que usar tu terminal porque la base es solo para Windows Aquí escribimos Git dash dash versión y C, aquí obtenemos nuestra versión Git 2.42 0.0 Instalamos Git con éxito en nuestro sistema. 5. Configura los detalles del usuario para git: Ahora para comenzar a usar Git, antes que nada, tenemos que hacer algunos ajustes de configuración como nombre de usuario, EID, editor de código predeterminado, que ya establecemos al instalar Git y también configuración de fin de línea No te preocupes. Son muy simples. Ahora podemos establecer estos configuración en tres niveles, nivel de sistema, que es para todos los usuarios de esta computadora. segundo nivel es el nivel global, que es para todos los repositorios del usuario actual, y el tercer nivel es el nivel local, que es para el repositorio actual. No tengas miedo, solo haz lo que yo hago. Abre terminal o ITBashf de todos, lo escribimos config para nivel global, y agregamos nombre de punto de usuario Aquí, agregamos códigos dobles y aquí entro mi nombre. Déjame hacer zoom un poco usando Control y plus, o podemos usar Control y desplazamiento del mouse. Bueno. Ahora pulsa Enter. Aquí, utilizamos códigos dobles porque tenemos un espacio en nuestro valor. También tienes que escribir tu nombre correcto aquí. Sea cual sea el nombre que escribas aquí, puedes ver ese nombre en el historial del repositorio. Ahora agreguemos el correo electrónico de la misma manera. Presione la flecha hacia arriba que devolverá el comando anterior, y aquí en el lugar del nombre del punto del usuario, escribimos el email del punto del usuario. Y aquí no tenemos espacio en nuestro valor. Podemos eliminar estos códigos dobles y simplemente escribo aquí mi correo electrónico. Ahora vamos a establecer nuestro editor de código predeterminado. Como te dije, en este curso, vamos a usar código VS. Si no tienes código VS, entonces puedes descargarlo de code.visualstudio.com Ahora volvemos a nuestro Git pash y escribimos Git config dash global co dot Editor Aquí, también agregamos código de códigos dobles, que es código de visual studio, espera. Ahora podrías preguntar por qué agregamos aquí espera? Este peso le dirá a nuestro terminal que espere hasta que cerremos la ventana del código VS. Aquí, consigue almacenar todos nuestros ajustes de configuración en el archivo de texto y para ver o editar esa pila, escribimos config Global E. Hit Enter. Ver, aquí obtenemos el archivo de configuración en vía código. A partir de aquí, podemos cambiar los valores configurados y si volvemos a nuestro pase Git aquí podemos ver que está esperando que nuestro editor cierre el archivo y eso es porque agregamos aquí espera. Cerremos este archivo de configuración de Git y veamos que salimos de él. Ahora casi terminamos nuestra configuración de configuración. Solo tenemos que hacer una configuración que es para fin de líneas. Este es un escenario muy importante que muchos desarrolladores extrañan olvidar. Esta configuración es muy útil cuando se trabaja con plataformas cruzadas. Por ejemplo, estás usando Windows como sistema operativo y otro tu colega usando el sistema operativo Mac. Cuando agrega un archivo de texto a Git para Windows, ese archivo usa R N, que son caracteres especiales utilizados en TextFile para administrar el diseño y la estructura de las líneas en el documento Pero en macOS o Linux, textfile use solo N. Así que si no manejamos la propiedad de fin de línea, obtenemos algunos problemas raros en Git Ahora para solucionar este problema, tenemos configuración de configuración llamada AutoCRLF que es retorno de carro, y avance de línea Así que aquí en nuestro ejemplo, si añadimos nuestro código en el repositorio Git, G eliminamos todos los retornos de carro y lo reemplazamos con el avance de línea. Ahora, cuando volvamos a querer obtener el mismo código, entonces Git volverá a actualizar nuestro código con retorno de carro y alimentación de línea ambos. Así que aquí tenemos que establecer esta propiedad CRLF Tru que convierte automáticamente este código Ahora cuando un usuario de Mac o Windows agrega el código al mismo repositorio, entonces andar, no tienes que actualizar ese código porque ya está en el feed de línea Aquí, para Mac y Linux los usuarios necesitan establecer esta propiedad AutoCRLF a la entrada, que es el tipo original No te preocupes por esto. No hace falta que entiendas esto tan profundamente. Simplemente haz lo que yo hago y ya estás listo para ir porque establecer la configuración es un proceso de una sola vez. En nuestro Git Bach escribimos Git config Global. Co punto AtosRF a True. Si eres usuario de Mac o usuario de Linux, entonces aquí en el lugar de True, tienes que agregar entrada y presionar Enter. Aquí, nuestra configuración está hecha. Ahora podemos empezar a aprender Git. 6. Cómo hacer que Git Bash se vea bien: Ahora, actualmente, nuestro gdbash se ve así. Hagamos que nuestro Gitbash se vea genial. Es divertido. Si estás usando simple terminal en Windows, donde te sugiero abrir gtbash, haz clic derecho en el Gitbsh y aquí en la parte inferior, Aquí, podemos seleccionar colores o podemos seleccionar tema. Aquí, obtenemos muchos temas. Entonces estos son temas muy decentes. Personalmente me gusta el tema de Drácula. Ves, esto se ve bien. Después de eso, podemos cambiar la transparencia y el cursor y podemos seleccionar el cursor parpadeante Ahora vamos por el texto. Aquí, podemos seleccionar fuentes. Puedes intentar cambiar estas fuentes. Estoy contento con la fuente actual, así puedo venderla. Además, suavizo las fuentes al completo y aplico y guardo la configuración y veo nuestro Git pash verse así Si quieres probar cualquier otro tema o cualquier otra fuente, entonces puedes hacerlo también. Estoy contento con la configuración. Ahora comencemos a aprender git. 7. Sección 02 Fundamentos de Git: Bienvenido a la segunda sección del curso Ultimate Kit. En esta sección, vamos a aprender conceptos muy fundamentales de kit, que todo usuario del kit debe conocer. Entonces primero, comenzamos con la comprensión del flujo de trabajo del kit. Aprenderás cómo funciona realmente Git, cómo inicializarlo repositorios, grabar el historial de código, poner en escena , cometer, que son conceptos realmente importantes porque muchos desarrolladores no saben cómo funciona, y luego se confunden mucho Así que mira esta sección completa, aunque conozcas conceptos básicos de kit, porque muchos desarrolladores realmente malinterpretan estos conceptos y se quedan atascados con kit Así que mira cada lección de esta sección. Vamos a sumergirnos en esto. 8. Inicializa el proyecto de Git: Entonces para comenzar a trabajar con Git, antes que nada, necesitamos agregar Git en nuestro proyecto o carpeta. Si no agregamos Git en nuestro proyecto, ¿cómo debería saber Git qué carpeta tiene que rastrear? Aquí estoy en la carpeta del proyecto, y aquí creo una nueva carpeta, digamos, Pista de tareas. Este es el primer nombre de proyecto que creé en mi curso ultimate react JS. Además, no te preocupes por esto. No vamos a crear ningún proyecto específico. Aquí, nuestro enfoque principal es dominar Git. Ahora necesitamos abrir esta ruta de carpeta en nuestro terminal o Git Bash Si eres usuario de Windows, entonces haz clic derecho aquí y obtienes la opción de abrir Git Bash aquí Verás, abrimos nuestra carpeta en el Git Bash, y si eres Mcuser entonces haz clic derecho en tu carpeta y obtendrás la opción de abrir nueva terminal en Ahora inicialicemos Git en nuestra carpeta. Aquí, simplemente escribimos Git en él y golpeamos Enter. Mira aquí obtenemos mensaje inicializado repositorio Git vacío con nuestra ruta de carpeta También podemos ver aquí obtenemos master, lo que simplemente significa que nuestra carpeta está lista para ello. Ahora, si en nuestro directorio de seguimiento de tareas, directorio significa carpeta, obtenemos otro directorio llamado.it Si no obtiene esa carpeta aquí, vaya a la opción de ver y marque aquí los archivos ocultos. Por defecto, este directorio está oculto porque no necesitamos tocar eso. Pero déjame mostrar lo que hay dentro de esta carpeta? Básicamente, la carpeta Git almacena información sobre nuestro historial de proyectos. Mira, aquí tenemos un montón de carpetas como ganchos, info, objetos, referencias, y algunos otros archivos. Si lo estás usando, no necesitas preocuparte por todos estos archivos. Estos archivos son detalles de implementación al respecto, cómo almacena información. No te preocupes por eso. No es asunto nuestro. Nuestro objetivo es usar Git y hacernos la vida más fácil y es por eso que por defecto, el directorio dot Git está oculto. Haces algo en este directorio o borras todo este directorio it, perderás tu historial de proyectos. En mi compañía, uno de mis amigos quitó esta carpeta git de su proyecto y luego intentó usar todos los comandos, pero no funcionan porque la carpeta.it no está disponible Déjame mostrarte eso. Aquí en nuestro Git Bash, estamos obteniendo master entre paréntesis, lo que significa que Git está rastreando esta carpeta Ahora para eliminar directorio Git, podemos escribir RM para eliminar R para recursivamente F para force, y escribir punto Git Golpea Enter. C, Git se elimina de este directorio. Por eso es importante la carpeta.it. Ahora inicialicemos nuevamente a Git en nuestro proyecto y para eso, qué comando usamos derecho, usamos Git en él Ver, de nuevo, hacemos nuestra carpeta como repositorio Git. repositorio Git básicamente significa que Git está rastreando el historial de este proyecto. Tan simple como eso. Ahora en la siguiente lección, entenderemos profundamente cómo funciona Git. 9. ¿Cómo funciona realmente Git?: Así que aquí inicializamos nuestro repositorio Git. Ahora veamos cuáles son los pasos bastante comunes del día a día que los desarrolladores hacen con él. Entenderemos esto con un ejemplo de la vida real. Imagina que estás escribiendo un libro de cuentos como Harry Potter. Ahora aquí, no quieres escribir nada directamente en tu libro de cuentos, trabajas o escribes en otro archivo Ahora supongamos que escribes el primer capítulo, primero lo revisas, es correcto o no. Si no es correcto, entonces haces cambios o actualizas ese archivo, y si es correcto, solo entonces tomarás una captura de pantalla de ese archivo y lo agregarás a tu libro de cuentos Este es el flujo de trabajo de Git también. Déjame explicarte. Aquí en nuestro repositorio Git, que es nuestro libro de cuentos en ejemplo Ahora no queremos agregar directamente nuestro código porque sea lo que sea que agreguemos en nuestro repositorio de Git, git lo almacenará en la historia. Empezamos a trabajar localmente, que es nuestra carpeta de seguimiento de tareas. Ahora supongamos que creamos un archivo en esa carpeta y necesitamos guardarlo como historial como nuestro archivo de escritura. Ahora, en ese momento, recuerden, verificamos que esté bien o no antes de guardar nuestra historia. Aquí también hacemos lo mismo. Nosotros revisamos, ¿está bien o no? ¿Queremos agregar o eliminar algo? Esta área de verificación se denomina área de espera. Ahora podría preguntarse por qué necesitamos esta zona de espera. Sin esta área de preparación, haga lo que haga en nuestro código local, todo el código se almacenará directamente en nuestro repositorio y no podemos tener oportunidad de ver qué cambiamos o qué eliminamos en comparación con el código anterior. Es por eso que se necesita área de puesta en escena. Ahora después de agregar nuestro código al área de puesta en escena, si satisfacemos solo entonces tomaremos una captura de pantalla de nuestro código y lo almacenaremos en nuestro repositorio Git. Ahora podría preguntarse, ¿cómo podemos agregar nuestro código local al área de espera? O ¿cómo podemos agregar nuestro código de área de preparación al historial de git? La respuesta es muy simple usando comandos Git. Supongamos aquí agregamos un archivo más llamado index dot gs. Queremos agregar este archivo en el área de puesta en escena. Aquí escribimos comando, Git add, y aquí escribimos nuestro nombre de archivo index dot js. Aquí, también podemos agregar varios nombres de archivos. Al usar este comando, agregamos nuestro código en el área de puesta en escena. Una cosa que quiero dejar claro es área de puesta en escena no es ninguna carpeta. El área de puesta en escena es solo memoria temporal que Git nos da. Muchos desarrolladores llaman área de puesta en escena como índice. Aquí comprobamos que nuestro código es correcto o no. Si no es correcto, entonces podemos actualizarlo o corregirlo porque no queremos almacenar código en el historial que tiene errores. Ahora, si estamos listos para almacenar este archivo en nuestro historial, entonces tomamos una instantánea del área de preparación y lo almacenamos en el historial de Git usando Git GamTth es la abreviatura Aquí escribimos nuestro mensaje el cual queremos almacenar con esta instantánea. En el futuro, sabremos qué agregamos en ese Kummet. Commit significa guardar la instantánea en el historial de Git. Por ejemplo, en el futuro, si arreglamos errores o agregamos nuevas características, hacemos en para cada Camt agregamos mensaje Commit, que claramente dice lo que hemos hecho en ese kat Con eso, podemos echar un vistazo fácilmente a nuestro historial de códigos. Asegúrate de que cada vez que cometas algo, por favor agrega un mensaje significativo. Cada confirmación que hacemos se almacena con un ID único, fecha y hora, nombre del autor, correo electrónico y nuestro mensaje de confirmación. A partir de estos detalles, podemos ver cuáles son los cambios realizados por quién y cuándo. Ahora supongamos que agregamos aquí otro archivo llamado data dot TXT. Dime qué tenemos que hacer para almacenar este nuevo archivo en la historia. Derecha. En primer lugar, agregamos nuestro código al área de ensayo con Git add data dot TXT. Y después de eso, podemos tomar snapshot de esta área de ensayo actual y almacenarla en el repositorio de Git usando Git Commit, agregando data dot txdFle en project Aquí, quiero aclarar una cosa es que después comprometer el código del área de ensayo al repositorio git, nuestra área de puesta en escena no quedará vacía. Se quedará igual a lo que nos comprometemos. Si en el futuro, agregamos o eliminamos algo en nuestro código local y luego lo agregamos en nuestro área de preparación, entonces solo aquellas actualizaciones de archivos que modificamos. Para recapitular rápidamente para soring el código en nuestro historial de git, primero, agregamos nuestro código al área de ensayo, y después de eso, si satisfacemos con nuestro código actual, solo entonces ingresaremos ese código en nuestro repositorio Git y el repositorio Git almacenará todos los comandos con sus detalles Tan simple como eso. No te preocupes si te confundes o tienes muchas preguntas, obtendrás todas tus respuestas a medida que avancemos en este curso, y apuesto a que dominarás Git como P. En esta sección, prácticamente trabajaremos con este flujo de trabajo de Git. 10. Ejercicio: flujo de trabajo de Git: En la lección anterior, aprendes el flujo de trabajo básico. Ahora quiero que dibujes la figura aproximada o flujo de trabajo rudo de la marcha con los dos comandos Completa el pequeño ejercicio, pero la condición es que no puedas ver la lección anterior. Intenta recordarlo y luego dibujarlo en el papel o en cualquier lugar. Si dibujas en papel, entonces puedes tomar foto y subirla en la sección de preguntas y respuestas Voy a tratar de verificar y responder a su envío. Después de completar este ejercicio, podrás ver la lección anterior y asegurarte de que tu flujo de trabajo sea correcto o no. Es un pequeño juego. No te preocupes por perder o ganar. 11. Agregar archivos al área de puesta en marcha: Ahora, déjame mostrarte prácticamente cómo podemos agregar archivos al área de costura. Pero antes que nada, necesitamos agregar archivo en nuestro código local. Abro carpeta de seguimiento de tareas en el código VS, y antes que nada, aquí, creo un nuevo archivo llamado capítulo uno punto TXT. Y aquí escribimos Hola. Estoy creando aquí archivo XD, pero puedes crear cualquier archivo. Guarde este archivo. Ahora queremos agregar esta pila al área de espera. En nuestra base de Git déjame verificar el estado actual. Si quieres borrar los comandos anteriores, entonces podemos escribir aquí claro. Se despejará todos nuestros comandos anteriores. Verifiquemos el estado con el estado de Git. Mira aquí nos metemos en rama, maestro, aún no hay commits. Y obtenemos un archivo sin seguimiento, que es el capítulo uno punto TXT Y también nos está dando sugerencia con Command Git add, nombre de archivo. Entonces podemos escribir aquí, agregar Git, y aquí podemos escribir el capítulo uno punto TXT. Si queremos añadir otros archivos, entonces podemos editar aquí con espacio, capítulo dos punto TXT, etcétera También podemos usar aquí star dot TXT, lo que significa agregar todos los archivos con extensión TXT. Además, podemos usar aquí Git add period, lo que significa agregar todos los archivos. Por lo general, muchos desarrolladores usan de esta manera, por lo que podemos usar cualquiera de estos comandos. Aquí uso Git agregar capítulo uno punto TXT. Ahora aquí no vemos nada, pero ¿cómo podemos comprobar que este archivo se agrega o no en el área de espera? ¿Me puedes decir que solo lo usamos? Podemos usar el estado de Git. Mira aquí obtenemos cambios de mensaje para que se vuelvan y eso es todo. Agregamos nuestro archivo en el área de puesta en escena. Ahora supongamos que cambiamos algo en nuestro archivo. Aquí agrego mundo en la segunda línea. Y guarda este archivo. Ahora vamos a verificar el estado nuevamente, así que obtén el estado y presiona Enter. Ver ahora aquí recibimos mensaje de modificado. Actualmente, en nuestro área de puesta en escena, tenemos nuestro código de edición anterior, que es el archivo Chapter one con solo mensaje de saludo. Ahora cambiamos algo en nuestro código local, luego nuevamente necesitamos agregar esos cambios a nuestra área de puesta en escena porque para comprometer nuestro código en el historial de Git, necesitamos pasar nuestro código desde el área de puesta en escena. Aquí, podemos volver a escribir Git add Chapter one dot TXT. Si volvemos a verificar nuestro estado, entonces no obtenemos ninguna modificación pendiente. Así es como agregamos nuestro código en el área de puesta en escena. Además, quiero decirte si te gusta crear nodos, entonces puedes comenzar a crear tus nodos para comandos de puerta. También agregaré mis nodos, pero también puedes usar tus propios nodos. 12. Comprometámonos con tu primer archivo: Actualmente, tenemos nuestros archivos en el área de puesta en escena. Ahora vamos a comprometer nuestro archivo con el historial de it. Entonces en Git Bash, lo escribimos commit. Aquí podemos escribir para mensaje, y en códigos dobles, agregamos nuestro mensaje Commit. Digamos Commit inicial. Ahora aquí escribimos especie descripción de nuestro abrigo. Pero a veces queremos agregar más líneas de descripción. Por ejemplo, arreglamos el burg, luego podemos agregar en la descripción, qué era ese burg, y no podemos explicar eso en una sola línea. Para agregar múltiples líneas de descripción, escribimos aquí solo obtener abrigo. Y dale a Enter. Esto abrirá un editor de código predeterminado que agregamos en nuestra configuración. ¿Te acuerdas? Genial. Ahora aquí en la primera línea, tenemos que introducir nuestra breve descripción y para una descripción larga, tenemos que escribirla en la nueva línea. Para este commit, añadimos mensaje corto como commit inicial para descripción larga, podemos escribir, completar el primer capítulo. Hacer alguna modificación en la historia. Solo estoy escribiendo un mensaje aleatorio para demo. No te preocupes. No voy a crear un libro de cuentos aquí. Ahora podría preguntarse, ¿qué pasa con estas líneas? Estas líneas son comunes para explicar esta parte de descripción, no te preocupes por eso. Ahora vamos a guardar este archivo y cerrar este archivo desde aquí. Ahora si volvemos a nuestro kit dash, mira aquí conseguimos un archivo cambiado y dos de inserción. Enhorabuena. Hemos hecho con éxito nuestra primera omisión. Para verificar esto, podemos escribir estadísticas del kit y ver aquí no obtenemos nada que comprometer. Árbol de trabajo limpio, lo que simplemente significa que nuestro código de área de trabajo, código de área de ensayo y la instantánea en el repositorio de Git son todos iguales. Así es como cometemos nuestro código en git. Se puede ver que es muy sencillo y fácil. 13. Cuándo debes comprometerte: Ahora, muchos desarrolladores cometen un error al usar git. Si cambian algo en el área de trabajo, inmediatamente declaran el cambio al área de puesta en escena, lo cual es bueno, pero también comprometen todos esos pequeños cambios el repositorio git, lo cual es incorrecto. Y también, algunos desarrolladores cometen directamente grandes cambios en el repositorio git, y eso también está mal porque no queremos codificar durante cinco días y luego cometer código completo. No es la mejor manera. Podrías preguntar, ¿cuál es la mejor práctica para el abrigo? En primer lugar, quiero decirles que no se comprometan por cada cambio. Eso es inútil porque como sabemos, lo que sea que cometamos, se va a almacenar en la historia en la historia, si obtienes todos los pequeños cambios, entonces encontrar lo que quieres de la historia se volverá mucho difícil. El tamaño Camt no debe ser demasiado pequeño ni demasiado grande. Comprométete siempre cuando crees llegas a cierto estado que quieres grabar. Imagina que cometer código es como ciertos puntos de control que quieres hacer Si algo sale mal con tu implementación actual, entonces puedes ir al punto de control anterior y reiniciar tu implementación ¿Recuerdas el concepto de videojuego para puntos de control? A medida que completas con éxito algo duro, entonces obtienes el punto de control que asegurará tu juego Piensa así. Otra cosa es que cada commit debe representar un conjunto de cadenas lógicamente separado No mezcles las cosas. Ejemplo, estás resolviendo un error, y también encontraste algunas mejoras de estilo, entonces no tienes que comprometer ambos cambios en una sola commit. Puedes hacer dos commit por separado, uno para arreglar el bug XYZ y luego para mejorar los estilos de cartas. También, otra buena práctica para los comités, hay que escribir un mensaje de compromiso significativo porque por mensaje Commit, encontrará su punto de control en la historia Entonces estas son mis cintas para abrigo. Pero al final, eres el mejor juez de tus situaciones. No pienses en ello, no cometerás ningún error. Todos cometeremos algunos errores, pero podemos aprender de nuestros errores, ¿verdad? Intenta recordar estas cintas. Te ayudará en tu viaje de puerta. 14. Ejercicio para el compromiso: Ahora es el momento de poco ejercicio para controlar lo que hemos aprendido en lecciones anteriores Quiero que crees un nuevo archivo llamado capítulo dos punto TXT y escribas algo en ese archivo. Después de agregar texto, tienes que confirmar ese archivo en el repositorio kid. Sé que esto es bastante fácil y puedes completar este ejercicio, ir a por ello y luego ver la solución. Entonces espero que completes este ejercicio o al menos intentes resolverlo. Ahora veamos la solución. Yo creo aquí un nuevo archivo Capítulo dos puntos TXT. Y aquí simplemente agrego Learning Git es una experiencia divertida. Si sabes cómo funciona git, ¿estás de acuerdo con eso? Házmelo saber. Guarda este archivo, y aquí volvemos a nuestro Git Bash, primero, que estado Vea aquí obtenemos un archivo sin seguimiento que es el capítulo dos punto TXT Tenemos que poner en primer lugar estos cambios, y luego podemos comprometernos con esto. Entonces escribimos Git add Chapter two dot TXT. Aquí, si no quieres escribir un nombre de archivo completo, entonces escribiendo medio nombre, puedes presionar la tecla Tab, y devolverá nombres de archivo sin seguimiento o modificados Ese es un pequeño truco. Después de eso, simplemente nos comprometemos con Git, completamos el Capítulo dos y presionamos Enter. Mira aquí hacemos otro commit, para que veas lo simple y fácil que es cometer código. 15. Cómo omitir el área de Staging: Ahora bien, la pregunta común que muchos tiene el usuario es, ¿ podemos saltarnos el área de puesta en escena? La respuesta es sí. Realmente no saltando el área de puesta en escena, pero como sabemos para confirmar el código, tenemos que usar estos dos comandos Pero en la marcha, tenemos otro comando, que es la combinación de estos dos comandos, pero esa no es una buena práctica Hazlo solo cuando estés 100% seguro de que no necesitas revisar tu código porque ese es el propósito del área de puesta en escena. Recuerda nuestro ejemplo de libro de cuentos, déjame mostrarte cómo podemos saltarnos el área de puesta en escena En primer lugar, permítanme cambiar algo en el archivo del Capítulo Uno. Empecemos el Capítulo uno. Guarda los cambios, y vuelve a Git Bash. Vamos a verificar el estado. Ver, obtenemos un archivo modificado. Ahora para cometer estos cambios, como sabemos, tenemos que escribir dos comandos. Primero, tenemos que escatimar el archivo, y luego agregamos Commit. Pero aquí podemos escribir directamente Gate commit A, que es para todos los cambios modificados y luego para mensaje. O simplemente podemos hacerlo juntos por AM y después de eso, podemos escribir nuestro mensaje de compromiso, partir del Capítulo uno. Y dale a Enter. Ver que está comprometido con éxito con la puerta. Verifiquemos eso con git status. Verás, no tenemos nada que comprometer. Este comando también agregará todas nuestras modificaciones en el área de puesta en escena y también comprometerá ese código en el repositorio git. Pero como te dije, solo usa este comando si estás 100% seguro. 99% de tiempo, primero montamos nuestro código y luego lo comprometiremos a la puerta. 16. Eliminar archivos de áreas: Ahora, supongamos que en este punto descubrimos que no necesitamos el Capítulo dos, o queremos eliminar el archivo del Capítulo dos. Del código VS, elimino este archivo. Bueno. Ahora, vamos a verificar nuestro estado. Obtener estado. Ver, aquí podemos ver que nos borran archivo del Capítulo dos porque eliminamos nuestro archivo del directorio de trabajo, pero aún así ese archivo está disponible en el área de puesta en escena. Déjame mostrarte. Entonces aquí escribimos archivos de Gates. Este comando devolverá todos los archivos que están disponibles en el área de espera. Verás, obtenemos el capítulo uno y el capítulo dos. Ahora, como les dije, cada vez que hacemos algunos cambios, tenemos que agregar esos cambios en el área de puesta en escena con comando add. Entonces aquí escribimos Puerta, agregamos el Capítulo dos para agregar los cambios, o podemos decir eliminación del archivo del Capítulo dos. Ahora vamos a revisar los archivos del área de espera una vez más. Obtener archivos S. Aquí S significa lista. Ver, aquí obtenemos sólo el capítulo uno archivo. Ahora vamos a verificar nuestro estado usando el estado de Git. Ver, aquí nos preparamos para comprometernos. Podemos escribir cometa Git para mensaje, eliminar Capítulo dos. Y hecho. Eliminamos con éxito nuestro archivo del Capítulo dos de nuestra área local y área de espera ambos. Sea lo que sea que hagamos, crear un nuevo archivo o eliminar el archivo existente, primero tenemos que agregar esos cambios al área de espera, y luego podemos comprometernos. Tan simple como eso. Ahora podrías preguntar, hay algún atajo o eliminar nuestro archivo del área de trabajo y área de espera y ustedes corrigen? Sí, hay un comando que realiza estos dos pasos en un solo paso. Podemos escribir obtener RM RM significa eliminar. Y aquí agregamos nuestro nombre de archivo, digamos capítulo dos punto TXT. Además, podemos agregar aquí múltiples nombres de archivo y también podemos eliminar todos los archivos por punto estrella TXT, lo que significa eliminar todos los archivos con extensión TXT. Mediante el uso de este comando, podemos eliminar nuestro archivo tanto del área local como del área de espera. 17. Cómo ignorar archivos en git [GitIgnore]: Ahora, a veces en nuestro proyecto, tenemos una carpeta o archivo que acabamos de crear para nuestro uso. No queremos poner eso en el repositorio de Git. Por ejemplo, si estás usando paquetes de nodos, obtienes una carpeta de módulos de nodo con miles de archivos, por lo que no queremos agregarla en nuestro repositorio Git. Aumentará el tamaño de nuestro repositorio sin ningún valor. Otro ejemplo son los archivos temporales o archivos de registro que no son necesarios para agregar repositorio git. Déjame contarte una historia de mi amigo, yo y mi amigo trabajando en una empresa corporativa. Mi amiga, Harley, no sabía nada de Gate. Él solo Githd y Git se comprometen. Un día, comprometió su archivo de contraseña personal con el código. Todos los miembros del equipo vienen a su escritorio y le cuentan su contraseña y no sabe cómo todos los miembros del equipo conocen su contraseña. En ese momento, tenemos que ignorar ese archivo o también podemos ignorar toda la carpeta. Déjame mostrarte eso prácticamente. Aquí en nuestra carpeta de seguimiento de tareas, creamos una nueva carpeta llamada logs para almacenar registros de depuración o aplicaciones Aquí agregamos nuevo archivo llamado debug dot log en este archivo, añadimos algo de texto. Esto es registro de depuración Guardar los cambios. Aquí, si prestas poca atención, cuando creamos un nuevo archivo en nuestra carpeta, nuestro archivo o carpeta resaltada con el color verde en la esquina derecha del nombre del archivo, obtenemos el icono U. ¿Puedes adivinar cuál es el significado de esta U? ¿Escribir? U significa archivo sin seguimiento Básicamente, VSC diciéndonos que este archivo no está disponible en el área de espera No te preocupes por eso. Te voy a explicar todo esto en las próximas lecciones. Ahora volvamos a nuestro Gitbsh aquí si hacemos git status, entonces obtenemos archivos sin seguimiento Si escribimos aquí Git add, entonces esta carpeta de registro también se agregará en nuestra área de ensayo y no queremos eso. Entonces, ¿cómo podemos ignorar estos archivos? Muy sencillo. Apenas en nuestro proyecto, creamos un nuevo archivo llamado dot Git Ignore. Asegúrese de escribir el mismo nombre de archivo punto Git Ignorar también este archivo debería en nuestro directorio raíz del proyecto. En cualquier otra carpeta. Sólo entonces funcionará. Básicamente, este archivo Get ignore le dice Git qué archivos o carpeta queremos ignorar. Aquí, queremos ignorar la carpeta de registros completos. Escribimos logs slash. Si queremos ignorar la carpeta de módulos de nodo, entonces escribimos módulos de subrayado de nodo o si queremos ignorar un archivo específico, entonces también podemos escribir logs slash debug dot Aquí podemos hacer cualquier cosa. Ahora en el momento en que guardemos este archivo, podemos ver que el icono U se ha ido de nuestro archivo de registros. También nuestra carpeta y nombre de archivo está en el color gris, lo que significa que se ignoran todos los archivos en la carpeta de registros. Déjame mostrarte una vez más. Elimino estas líneas y la guardo. Ver aquí conseguimos U. Y si añadimos de nuevo logs slash y lo guardamos, entonces ignoramos estos archivos Verifiquemos estos con su estado y veamos, obtenemos solo uno en la pila de pista, que es Gino, que acabamos de crear Vamos a agregarlo con Git add dot gitignore y luego Git co ignore todos los archivos de registro, y Encantadora. Así es como podemos ignorar archivos en Git. Pero recuerda, de esta manera, solo podemos ignorar ese archivo o carpeta, que aún no están comprometidos. En palabras simples, si queremos ignorar nuestro archivo TXT de un punto del capítulo uno ahora, entonces no podemos simplemente hacer eso con el archivo Git Ignore porque nuestro archivo Chapter one ya está comprometido en el repositorio git. Entonces primero, tenemos que eliminar nuestro archivo del área de espera, y luego podemos ignorar este archivo. Déjame mostrarte ¿cómo podemos hacer eso? Aquí en nuestra carpeta de proyectos, creo una nueva carpeta llamada, digamos, Ben. Y dentro de esta carpeta, creamos un nuevo archivo llamado backup dot Ben. No te preocupes por estos nombres de archivo. Es sólo para demo. Aquí agregamos texto como hola. Guarde esto y vea. Aquí obtenemos el icono de archivo sin seguimiento. Ahora permítanme cometer accidentalmente este archivo. Entonces en nuestro Git Bash, escribo Git add period, lo que significa que todos los archivos y luego Git commit testing But Bin file y lo cometemos Ahora nuestro expediente ya está comprometido. Intentemos ignorar este archivo. Déjame mostrarte qué archivos están en el área de puesta en escena por git As files. Ver aquí podemos ver el archivo de Bup Bin ya está aquí. Entonces, ¿cómo podemos eliminar este archivo del área de espera? En la lección anterior, vimos Git RM para eliminar y agregamos nuestro nombre de archivo, digamos, sido slash backup dot Ben Pero al usar este comando, elimina este archivo del área de espera, pero también del área local. Pero aquí, queremos este archivo en local o en nuestra área de trabajo. Entonces, para obtener ayuda, escribimos H para obtener ayuda. Aquí podemos ver que tenemos opción dash dash cast, que solo eliminará del índice. Índice significa área de estadificación. Escribimos Git, RM, dacast y también tenemos que agregar aquí R para la eliminación recursiva porque queremos eliminar todos los archivos del directorio bin Si no escribimos aquí R, entonces obtenemos error. Y agregamos el directorio de Bin y nuestra carpeta Bin se elimina del área de espera. Comprobemos también nuestras pilas de área de espera con él Como archivos. Ver, archivo Bin se elimina de aquí y vamos a comprobar nuestro estado, él estado aquí obtenemos un archivo eliminado, pero también obtenemos archivo de seguimiento de Bin. Aquí, tenemos que añadir el directorio Ben en nuestro punto Getting nor file. Guarde esto y vea, aquí obtenemos leer el icono, lo que significa eliminado. Volvamos a verificar el estado. Ver, aquí obtenemos un archivo eliminado y además obtenemos ti no archivo modificado porque agregamos directorio bin en nuestro GTI ni archivo Vamos a confirmar estos cambios y a confirmar, eliminar el directorio bin que accidentalmente cometió. Ahora déjame modificar algo en el archivo Bin. Guarde esto y vea que no obtenemos ningún mensaje de modificación, pero el archivo gitignore permanece Me puedes decir por qué? ¿ Comprobemos esto con estatus? Ver, aquí obtenemos archivo gitignore modificado porque olvidamos agregar nuestro getI no hay cambios No te preocupes, me pasa muchas veces. Así que aquí simplemente escenificamos los cambios usando Git add period. Y luego Git se compromete ignorando el directorio win y hecho. Para que puedas ver lo difícil que es ignorar los archivos ya comprometidos. Entonces la mejor práctica para Git es, agregaremos el archivo Git Ignore desde el principio. Así que dirígete a github.com slash GitHub, slash Aquí obtenemos todas las plantillas para el Getting no files. Por ejemplo, si estás trabajando con la aplicación react, entonces puedes buscar aquí nodo. Y aquí obtenemos una plantilla para todas las aplicaciones que utilizan nodo. Simplemente copia esta plantilla y pegarla en tu archivo de nervio de Gating. Tan simple como eso. 18. Visualización de cambios entre áreas: Ahora, déjeme hacerle una pregunta. ¿Cómo podemos ver los cambios que hacemos con él? Se podría decir que podemos usar el comando Git status, y tienes razón. Pero este comando sólo devolverá el nombre del archivo. ¿Y si queremos ver qué cambiamos dentro de nuestro archivo? Déjame mostrarte. En nuestro archivo del Capítulo uno, elimino estas tres líneas y agrego aquí, este es el inicio de nuestra historia. Guarde este archivo y lleguemos aquí para su modificación. Ahora déjame mostrarte cómo puedes usar otro comando it, que es itivo para diferenciar Ver, esto se ve muy complejo para ver los intercambios en la terminal. Y si estás viendo esta primera vez, entonces puedes romper tu pantalla. Pero déjame tratar de explicarte. Aquí podemos verlo diferenciar entre A Chapter one file y B Chapter one file, lo que significa que está comparando mismo archivo con una versión diferente. Después de eso, tenemos índice y algunos metadatos, lo cual es realmente no importa para nosotros. Después de eso, obtenemos estas dos líneas, los cambios en el primer archivo indican con el signo menos y los cambios en el segundo archivo indican con más. No te preocupes por esto. Básicamente, está mostrando que eliminamos estas tres líneas rojas y agregamos esta línea verde. Tan simple como eso. Ahora, como les dije, ver los cambios en la terminal no es muy fácil. Déjame explicarte ¿cómo podemos usar nuestro editor de código para ver estos cambios? En primer lugar, tenemos que decirle a Kat, queremos usar código VS como herramienta TIF. Herramientas DIF significa diferenciar herramienta. Escribimos Kit, config dash global. Lo estamos configurando como global, así que no tenemos que configurarlo para cada proyecto. Después de eso, agrega la herramienta div dot y la configuramos al código VS. Con este comando, solo estamos dando nombre a nuestra herramienta DIV, que es VSCode No te preocupes, esta configuración es solo un proceso de tiempo. Ahora tenemos que decirle a Git cómo lanzar el código VS. Nuevamente escribimos la herramienta Git config Global DIV. Scode punto CMD. Códigos dobles. Ahora en mi máquina, agrego código como ruta de código VS, para poder ejecutarlo desde cualquier directorio. Si no lo agregas a tu camino, no te preocupes, te lo mostraré en solo un minuto. Aquí agregamos peso, que le dirá a nuestro terminal que espere. Y después de eso, usamos D, que es para diferenciar o comparar archivo, y luego tenemos dos argumentos más, que es dólar local con todo el espacio de letras mayúsculas dólar remoto. Estos son los marcadores de posición para la copia antigua y la nueva copia de nuestro archivo Ahora vamos a asegurarnos de que agregamos este comando en nuestra configuración o no. Así podemos ver todos nuestros ajustes de configuración por Git config, Global E, y golpear Enter. Aquí podemos ver toda nuestra configuración. Consulta aquí nuestro dólar local y dólar remoto no se agrega. Puedes agregarlos. Guarde este archivo, encierra este archivo de configuración de Git Ahora volvemos a Git Bash. Si queremos ver cambios en el código VS, en lugar de escribir Git Dev escribimos la herramienta Git DV. Esto comparará lo que tenemos en el directorio de trabajo y lo que tenemos en el área de puesta en escena. Y está pidiendo lanzar VSCode. Escribe sí e ingresa. Ver, aquí tenemos nuestro archivo del Capítulo uno. Ahora bien, si no entiendes los cambios en un solo archivo, podemos dividirlo en dos archivos. En la esquina derecha, tenemos tres puntos aquí, tenemos que D selacg la vista inline Si aún no obtienes archivos uno al lado del otro, entonces tienes que presionar Control más B o Comando más B para cerrar este panel del Explorador. Aquí, podemos ver claramente lo que hemos cambiado, que es que eliminamos estas tres líneas y agregamos esta línea verde. Este es nuestro antiguo código de etapa y hicimos cambios en este código local. Ahora, si en el futuro, quieres ver los cambios, entonces solo tienes que escribir la herramienta Git Div. Ahora podría preguntarse, ¿cómo podemos ver los cambios entre el código de área de ensayo y el código de compromiso? Cerramos esta vista comparativa y en nuestro tablero de Git, tenemos que simplemente escribir la herramienta Git Div, dash dash stage, y presionar enter. Aquí no conseguimos nada. ¿Me puedes decir por qué? Porque nuestro código de área de ensayo es el mismo que nuestro código de compromiso. Tenemos que escenificar nuestros nuevos cambios. Escribimos Git add dot. Ahora ejecutamos de nuevo la herramienta Git D. Escenario Dash Dash. Inicie vía código, escriba sí y vea, aquí obtenemos cambios entre área de etapa y el código Commit. Para resumir esta lección, si queremos ver los cambios entre nuestro código local y el código de etapa, entonces lo usamos la herramienta Diff, y si queremos ver los cambios entre stagecde y Commit code, entonces la usamos Di tool, dest Estás continuamente viendo este curso, entonces en mi sugerencia, tómate de diez a 15 minutos de descanso de tu pantalla. Escucha algo de música o pasa algún tiempo con tu familia. Cuida tus ojos y nos vemos en la siguiente lección. 19. Atajo para el estado: Ahora actualmente, si queremos ver el estado actual, entonces escribimos git status. Pero estos comandos devuelven estatus muy largo. Ahora hay otra forma de atajo para obtener el estado. Para ello, creamos un nuevo archivo, Chapter two dot TxD e ingresamos algún texto en él. También cambiamos algo en el archivo del Capítulo uno. Ahora volvamos a nuestro tablero de Git y en lugar de escribir git status, escribimos git status a para abreviar, y golpeamos Enter. Ver, aquí obtenemos poco estatus. Esto es mucho más fácil de ver. Ahora aquí obtenemos dos columnas, columna izquierda y columna derecha. Esta columna izquierda representa el área de espera y la segunda columna representa nuestro directorio de trabajo o área local. Actualmente, modificamos nuestro archivo del Capítulo uno en el área de puesta en escena y también en el área de trabajo. Por eso llegamos aquí tanto M, M para modificado. Déjame explicarte de manera sencilla. Nuestro archivo del Capítulo uno en el área de puesta en escena es diferente de lo que tenemos archivo del Capítulo uno en nuestro compromiso. Por eso llegamos primero. Y nuestro archivo de área de trabajo actual también se modifica a partir de lo que tenemos en nuestra área de puesta en escena. Por eso tenemos aquí también. Déjenme demostrarlo prácticamente. Aquí, escribimos Git add Chapter one dot TXT, si volvemos a escribir aquí, git status tiene, mira, aquí no obtenemos de la columna derecha, lo que significa que nuestro código de trabajo es el mismo que el código por etapas Y si nos comprometemos archivo uno, entonces esto también eliminará de aquí. Ahora podría preguntarse ¿por qué llegamos aquí doble signo de interrogación? Porque creamos un nuevo archivo. Por eso llegamos hasta aquí ambos interrogación. Agreguemos el archivo del Capítulo dos en el área de puesta en escena. Git add Capítulo dos TXT. Entonces volvemos a obtener estatus. C, aquí obtenemos A, lo que significa agregado. Así es como podemos ver rápidamente el estado. Si te gusta ver el estado completo, entonces puedes usar el estado de Git. Si te gusta este enfoque, entonces puedes usar este atajo. La elección es tuya, depende totalmente de ti. 20. Cómo ver el historial de confirmaciones: Ahora, actualmente, hemos comprometido código muchas veces. ¿Y si queremos ver todo lo que se compromete? Entonces para eso, aquí lo escribimos, registramos, y pulsamos Enter. Entonces aquí conseguimos todos los Camtes en orden de lechuga a la anterior Al principio, obtenemos nuestro último amit cada commit tiene su ID único que es auto generado por él Cuando queremos acceder a ese ácaro o queremos ver qué hay dentro ese amit entonces usando este ID único, podemos acceder a esa confirmación específica Ahora a continuación, obtenemos headpoint para dominar. Podría preguntarse qué es el punto de cabeza para dominar. No te preocupes por eso. Te explicaré sobre esto en las próximas secciones. Por ahora solo conoce este git master es un nombre de rama predeterminado. La sucursal es un área que creamos para nuestro propio uso y esta cabeza nos está diciendo que actualmente estamos trabajando en esta rama maestra. No te preocupes, te lo explicaré con mucho detalle en las próximas secciones. Ahora después de eso, obtenemos nombre del autor y aquí obtenemos el correo electrónico del autor. A medida que obtenemos fecha y hora en las que ocurre este compromiso. Aquí en la parte inferior, obtenemos aquí nuestro mensaje de compromiso. Al usar este mensaje de confirmación, sabemos lo que hay dentro de este compromiso, y por eso te digo escribas un mensaje de compromiso significativo, que tú y tu colega puedan entender. Ahora actualmente, solo obtenemos tres o cuatro detalles de commit porque estos commits se dividen en páginas. Si queremos ver otras páginas, entonces presione espacio. Ver, aquí obtenemos nuestros otros commits. Ahora para salir, solo necesitamos presionar Q. Ahora este comando log tiene opciones muy interesantes. Aquí podemos escribir Git log, dash dash one line. Esto devolverá la lista de Commit en una línea. Entonces aquí obtenemos su ID único, y solo nosotros obtenemos aquí una breve descripción o mensaje Commit. Tenemos otra opción, que es Git log dash dash one line, dass reverse Y mira, aquí obtenemos nuestra lista de commit en orden inverso, que es desde el primer commit hasta el último commit. Ahora el comando log es poderoso comando para el historial de navegación. Lo usaremos mucho en la próxima sección. De hecho, tenemos una sección completa para navegar por nuestro historial de códigos. Por ahora, vamos a marcar a lo básico. 21. Desfasando los archivos: Ahora actualmente, si verifico nuestro estado, entonces aquí nos modificamos para el archivo del Capítulo uno, y también agregamos nuevo archivo Capítulo dos. Ahora bien, como ya les dije antes, nunca debemos cometer dos tareas distintas en un solo commit. Entonces primero debemos comprometer nuestro archivo del Capítulo dos, y luego debemos comprometer nuestro archivo del Capítulo uno modificado. Para eso, aquí primero desmontamos el archivo del Capítulo uno. Entonces escribimos, obtenemos, restauramos das stage y aquí escribimos nuestro nombre de archivo, capítulo uno punto THD Aquí, también podemos escribir varios nombres de archivo, o podemos escribir patrón, o incluso podemos escribir punto, que desentrarán todos los cambios de nuestro código Por ahora, aquí, solo queremos descomponer el capítulo uno punto archivo THD Ahora bien, si revisamos de nuevo el estado aquí nos ponemos rojos, lo que significa que se modificó en el área local o de trabajo. Ahora bien, es importante que entiendas cómo funciona realmente este comando restore. El comando restore básicamente toma la copia del siguiente entorno. No te confundas. Déjame explicarte de manera sencilla. Así que cuando escribimos git restore stage, capítulo uno punto tHD básicamente, estás diciendo que queremos desarmar el capítulo uno archivo THD Git toma una copia del siguiente entorno. ¿Cuál es el siguiente ambiente después del ambiente escénico? Recuerda esa cifra. Commit es el siguiente entorno después del entorno de etapa. Así que simplemente toma copia de nuestro capítulo un archivo del último comando y simplemente agrega eso en el área de puesta en escena. Pero nuestra área de trabajo tiene eso cambios. Indirectamente, desmontamos nuestro archivo del Capítulo uno. Ahora bien, si te hago una pregunta, si ejecutamos este comando, Get restore stage Chapter two dot TXT. Entonces como te dije, este comando tomará la copia del siguiente entorno, que es el entorno Commit. Pero nuestro archivo del Capítulo dos no está disponible en el último commit porque acabamos de crear nuestro archivo del Capítulo dos, y es por eso que nunca comprometemos este archivo. Por lo que este comando eliminará nuestro archivo del Capítulo dos del área de puesta en escena. Verifiquemos estos estatus I. Ver, aquí obtenemos dos signos de interrogación, lo que significa que nuestro archivo es track. Entonces, para resumir rápidamente, si accidentalmente agregaste cambios al área de puesta en escena que no quieres incluir en el siguiente commit, entonces git restore d stage te ayuda a mover esos cambios nuevo a tu directorio de trabajo Y por eso, te está dando la oportunidad de volver a evaluar o hacer más modificaciones antes de comprometerlas. Así es como desmontamos nuestros archivos. 22. Descartar cambios en archivos locales: Ahora, a veces hacemos algunos cambios en nuestro directorio de trabajo, y queremos desechar esos cambios. En palabras simples, queremos restaurar nuestros archivos locales con los archivos de área escenificada Entonces aquí hemos modificado nuestro archivo del Capítulo uno. Supongamos que queremos deshacer estas modificaciones para que podamos restaurar este archivo local del Capítulo uno con nuestro archivo del capítulo uno del área de ensayo. Para eso, usamos el mismo comando que es Git restore. Y aquí escribimos nuestro nombre de archivo que es capítulo uno punto THD Ahora, anteriormente, escribimos comando, nos restauramos como por etapas, capítulo uno punto TXT, que toma una copia del siguiente entorno, que es commit Porque en este comando, mencionamos la etapa como nuestro entorno actual usando este guión como escenificado Ahora bien, si eliminamos staged de este comando, puedes adivinar cuál es el entorno actual Actualmente, estamos en el entorno laboral. Este comando tomará copia del siguiente entorno, y ¿cuál es el siguiente entorno? Tomará copia del entorno de puesta en escena. También podemos escribir este comando así. Obtener, restaurar múltiples archivos. También podemos restaurar todos los archivos con periodo. Nuestro archivo se restaura desde el área de estacionamiento. Podemos verificarlo por estado de Git. Ver, aquí obtenemos sólo archivo del Capítulo dos. Pero, ¿por qué Git no restaura este archivo? Simplemente porque Git no tiene su copia anterior en el área de puesta en escena. Git lo deja como está. Ahora podría preguntarse, ¿cómo podemos eliminar todos los archivos no rastreados? Para eso, tenemos que escribir comando de limpieza de puerta. Ver, aquí obtenemos un error. Nos está diciendo fuerza requerida, por lo que podemos escribir gate cleang para obtener ayuda rápida Aquí, podemos ver para forzar eliminar, tenemos que usar F y podemos limpiar todo el directorio. También usamos. Escribimos puerta limpia f, D. Asegúrese de que con este comando se eliminen todos los archivos sin escenificar de nuestra área de trabajo, y no podamos restaurar esos Así que asegúrate de qué pilas estás limpiando. Ahora, verifiquemos el estado. Mira, aquí no obtenemos nada, que significa que todos los archivos se restauran. 23. Restaurar a una versión anterior: Entonces ahora sabemos que una vez que comienza a rastrear cualquier archivo, almacena cada versión de ese archivo en la historia. Entonces si por error, nos equivocamos con nuestro archivo y también lo cometemos, entonces podemos restaurar nuestro archivo desde el historial de git Entonces para demostrar que, primero, eliminamos nuestro archivo Chapter one, y luego restauraremos ese archivo desde el repositorio Git. Entonces, ¿recuerdas qué comando usamos para eliminar el archivo del directorio de trabajo y también del área de puesta en escena? Correcto, usamos Git RM, capítulo uno punto TXT. Verifiquemos nuestro estado. Ver aquí en el área de puesta en escena, nos borran el archivo del Capítulo uno. Ahora, vamos a comprometer estos cambios. Entonces Gitt eliminar, Capítulo uno archivo para restaurar. También revisemos esto en el código VS. Ver, nuestro archivo del Capítulo uno se elimina. Ahora supongamos que queremos recuperar ese archivo. Así que vamos a restaurar este archivo desde el repositorio Git o el historial de Git. Revisemos nuestro historial con Gitlog one line. Aquí, queremos restaurar nuestro archivo del Capítulo uno del segundo último commit, lo cual hicimos. Entonces para eso, escribimos git restore H para obtener ayuda rápida. Aquí podemos ver después de Restaurar, podemos agregar múltiples opciones. Y después de eso, tenemos que mencionar nuestra fuente. Fuente básicamente significa commit, y después de eso, tenemos que mencionar nuestra ruta de archivo. Ahora déjame volver a revisar el historial, Git registra una línea. Ahora podemos escribir Git, fuente restaurada es igual a aquí escribimos nuestro ID de commit desde el que queremos restaurar. Escribimos aquí este ID de compromiso. Si queremos restaurar archivo desde otro historial de commit, entonces tenemos que escribir ese ID de commit y después de eso, escribimos nuestro nombre de archivo, capítulo uno punto TXT Ahora vamos a verificar el estado. Ver, aquí obtenemos archivo sin seguimiento y si lo comprobamos en el código VS, mira, aquí nuevamente obtenemos nuestro archivo del Capítulo uno Así es como restauramos el archivo desde el historial de commit. 24. Operaciones básicas de Git en código VS: Así que hasta ahora en esta sección, realizamos cada tarea con una línea de comandos, y espero que despeje tus dudas sobre las operaciones básicas de Git. Ahora en nuestro código VS, también podemos realizar algunas operaciones básicas para Git. Entonces aquí vamos al panel de control de fuente, y aquí obtenemos este tipo de interfaz. En esta lista de cambios, obtenemos la lista de cambios. Aquí, obtenemos los mismos resultados que obtenemos del comando git status. Aquí tenemos un cambio, que es en este Capítulo un archivo. Si hacemos clic en este archivo, aquí podemos comparar nuestro código actual con el código anterior. Además, podemos ver aquí este archivo es un nuevo archivo sin seguimiento. Ahora para escenificar este archivo, podemos hacerlo muy fácilmente. Solo tenemos que hacer clic en este botón más. Ver, aquí tenemos cambios de etapa. También podemos desempañar este archivo muy fácilmente. Simplemente haga clic en este botón menos. Ahora tenemos cambios locales en nuestro directorio de trabajo. Vamos a escenificar estos cambios. Ahora podrías preguntar, ¿ podemos comprometernos desde el código VS? Y la respuesta es sí. Entonces aquí escribimos nuestro mensaje de compromiso. Vamos a agregar de nuevo, Capítulo uno archivo del código VS. Ahora vamos a hacer clic en este Commit, y nos comprometemos con éxito este código. Ahora déjame mostrarte algo realmente genial. Vayamos al panel del explorador, y de este fondo, aquí tenemos la línea de tiempo. Déjame acercarme un poco. Vea aquí obtenemos el historial de nuestro archivo abierto actual. Aquí obtenemos todos los cambios que hemos realizado en nuestro código. Si queremos ver el historial del kit, entonces usamos aquí esta opción de filtro. Simplemente elimine el cheque de la historia local y aquí obtenemos el historial de este archivo actualmente abierto, que es el Capítulo uno. Podemos verlo dando click sobre él. Así es como podemos usar nuestro código VS para operaciones simples. Ahora podría preguntarse, ¿por qué no le muestro esta forma de hacer las operaciones básicas? ¿Por qué enseño línea de comandos? Solo imagina si te muestro directamente esta lección sin explicar todos los comandos anteriores, entonces definitivamente te confundirás mucho y nunca entenderás lo básico de git. Por eso primero te enseño la línea de comandos. Ahora definitivamente sabes lo que estás haciendo en tu panel de control de fuentes. 25. Introducción a Github Desktop: Ahora, déjame mostrarte la interfaz gráfica de usuario de usar Git, que es Github Dktop Esta es una de las mejores y amigables herramientas GI para principiantes para usar Git. Otra herramienta popular es Git Kraken, pero es poco compleja para principiantes. Entonces en este curso, aprenderemos Github desktop, que es amigable para principiantes y además te mostraré Git Kraken, que es mi recomendación Así que dirígete a desktop.github.com y descarga la aplicación Github Dktop e instálala Aquí cómo se ve cuando abrimos por primera vez esta aplicación. Es pedir iniciar sesión con cuenta de Github, o si no tienes cuenta de Gitub, entonces puedes crear una nueva cuenta gratis Ya tengo cuenta de Github, así que rápidamente me conecto con eso. Aquí está pidiendo mi nombre y correo electrónico. Asegúrate de verificar estos detalles. Ver aquí puedo cambiar mi correo electrónico también y confirmar. Ahora aquí, podemos crear un nuevo repositorio Git y también podemos abrir el repositorio Git, y también podemos clonar el repositorio existente. Por ahora, no te preocupes por la clonación. Eso lo veremos en la próxima sección. Así que aquí abrimos repositorio Git. Vamos a la carpeta del proyecto y seleccionamos nuestro proyecto de seguimiento de tareas. Ver, aquí obtenemos este tipo de interfaz. Si cambiamos algo en nuestro archivo, agreguemos algo de texto. Estoy escribiendo este Capítulo uno para introducción. Y guardar los cambios. Ahora bien, si cambiamos algo en nuestro archivo en nuestra aplicación de escritorio Github, aquí obtenemos esos cambios. Desde este icono de configuración, podemos seleccionar el tipo de división. Ahora bien, aquí hay una cosa sobre esta aplicación. Esta aplicación comprometerá directamente nuestro código. Si no queremos confirmar este archivo, entonces podemos desmarcar este archivo de esta lista Esta lista es área de puesta en escena. Bien. Ahora veamos cómo comprometer nuestro código a Git. Entonces aquí escribimos nuestra descripción de tipo. puede ver por defecto, se muestra Commit messagon podemos escribir Update Chapter one para degustación Github desktop Y si queremos escribir una descripción incorrecta, entonces también podemos escribirla aquí. Y después de eso por amit simplemente damos clic en este Kammit a nuestra sucursal que es maestra. Y ya está hecho. Comprometimos con éxito nuestro código. Ahora también podemos ver la historia de nuestras amidas desde esta pestaña. Aquí, obtenemos la lista de todas nuestras amidas. Al seleccionar cada medio, podemos ver el contenido de su archivo. Para que puedas ver la aplicación de escritorio iTu hace que Git sea tan simple. Si te gusta usar la línea de comandos o el código VS, o te gusta el escritorio iTB, todo está bien Pero como ves con la línea de comandos, podemos controlar más en Git. Podemos hacer variedad de tareas mediante comandos de kit. Honestamente, me gusta usar comandos kit y código VS, pero la elección es tuya. Puedes elegir herramienta en la que te sientas seguro. Depende totalmente de ti. 26. Introducción a GitKraken: Entonces, en la lección anterior, vemos nuestra primera herramienta GI, GitHub Desktop. Tenemos otra herramienta que es el kit Kraken, que es poco complejo, pero una vez que entiendas y estés familiarizado con el kit, entonces usarás más esta herramienta Además, Kit Kraken tiene más funciones que la aplicación de escritorio GitHub Personalmente me gusta usar Kit Kraken. Verás el motivo en próximas secciones. También instalemos TKraCon en nuestro sistema. Dirígete a kitcracon.com, y aquí tenemos un Simplemente haga clic en eso y comenzará Descargar. Después de completar la descarga, abrimos una configuración y podemos instalar fácilmente Git Kraken Ahora cuando abrimos Git Kraken por primera vez, aquí obtenemos vamos a abrir una opción de repositorio y podemos iniciar sesión usando Github Por ahora, abramos un repositorio. Ver, automáticamente fez los detalles de mi cuenta de Git porque acabo iniciar sesión en la lección de escritorio anterior de Github Para que pueda filmar esto. Aquí obtenemos este tipo de interfaz. Podemos abrir el repositorio o podemos clonar repositorio desde Internet, o podemos crear un nuevo repositorio. Actualmente, queremos abrir repositorio desde local, así que vamos al repositorio abierto y abrimos nuestro proyecto actual. Mira así es como se ve nuestro repositorio. Esto es un poco complejo para los principiantes porque esto está muy desordenado Siento lo mismo cuando uso Git kraken por primera vez. Pero créeme, a medida que nos familiarizamos con Git, todo esto hace súper fácil. Aquí están todos los cometas y podemos ver más detalles sobre esa Camt seleccionándolos y en el lado derecho, obtenemos los Ver aquí obtenemos ID de confirmación, mensaje de confirmación. Después de eso, obtenemos detalles sobre el autor que compromete esta fecha y hora y por debajo de eso, obtenemos una lista de archivos que eliminamos, agregamos o modificamos. Básicamente, obtenemos los cambios que hicimos en este commit. Aquí, podemos abreviar estos archivos y también podemos ver los archivos en estructura de carpetas de árbol. Cuando hacemos clic en ese archivo, vea, aquí obtenemos el archivo y podemos ver este archivo en el modo split usando este icono. Por ahora, eso es todo sobre eso Kraken. No te preocupes. Veremos a Git Kraken más detalles en las próximas secciones Nos vemos en la siguiente sección. 27. Sección 03 Observa el historial del código: Bienvenido a la tercera sección del curso ultimate it. En esta sección, veremos cómo podemos navegar por nuestra historia de Cami con más detalle Primero, veremos cómo podemos ver todos los commits, filtrar los commits por nombres de autor, fechas, mensaje de commit. Además, veremos ¿cómo podemos establecer comandos de acceso directo para comandos largos? A continuación, veremos amidas específicas, compararemos dos amidas, volveremos al commit específico, detectaremos bug commit, culpas, dando etiqueta al gummit y muchas más cosas Sé que estás emocionado, así que comencemos esta sección. 28. Proyecto local de clonación: Ahora para navegar por el historial, necesitamos un proyecto en el que tengamos pocos commits. Entonces, debajo de este video, obtienes la carpeta de recursos, y en esa carpeta, agregué el proyecto de seguimiento de tareas que creé en SDML y CSS Déjame mostrarte cómo puedes clonar cualquier proyecto Git existente en tu máquina. Así que juego de palabras carpeta de recursos, y aquí tenemos curso Tarea pista Zip Podemos descomprimir esto simplemente podemos copiar esta carpeta desde aquí y pegarla en la carpeta de nuestro proyecto Ahora podemos empezar a utilizar este proyecto. Tan simple como eso. 29. Explora el comando Log en detalle: En primer lugar, abramos nuestro proyecto en Git Bash. En la sección anterior vimos para ver la historia de nuestro proyecto Git, usamos el comando Git clock. Este comando nos dará todos los detalles de commit sobre cada commit como Commit tiene detalles del autor, fecha y hora, y mensaje de commit. Además, conseguimos estos commits en orden, lo que significa que primero obtenemos el último commit y al final, obtenemos nuestro primer commit. Tenemos más de una página, entonces podemos presionar espacio o podemos movernos hacia arriba y hacia abajo usando las teclas de flecha. Para salir de este comando, presionamos Q. Ahora bien, ¿recuerdas por qué comando obtenemos este registro con menos detalles? Correcto, podemos escribir aquí Git log dash una línea. Ver aquí obtenemos solo poco tiene y cometemos mensaje. Ya hemos visto estos dos comandos. Ahora veamos este comando log con más detalles. ¿Y si queremos que los archivos cambien en cada comando? Por ejemplo, en el segundo comando, qué archivos se modifican o qué cambiamos en el último comando? Para ello, tenemos que simplemente escribir datat al final de nuestro comando log Este tat significa estadística. Mira, aquí obtenemos un archivo cambiado y lo conseguimos cambiado por nombre aquí. Después de eso, podemos ver 16 inserción. De igual manera, tenemos estos detalles para cada cometa. Ahora bien, si te confundes por muchos detalles, entonces también puedes hacer esto. Agrega aquí una línea y mira aquí obtenemos un poco menos detalles sobre Comet. Aquí solo obtenemos qué archivo cambia y el número de líneas que cambiamos. Pero, ¿y si necesitamos ver qué línea agregamos o eliminamos o actualizamos? No te preocupes, es realmente sencillo. Escribimos puerta, registro, una línea, Despatch. Mira aquí obtenemos las líneas en verde, que agregamos en el archivo. Y si quitamos algo de este archivo, entonces obtenemos esas líneas en rojo. Por estos comandos, podemos ver lo que pasó en nuestro proyecto muy rápidamente. Ahora para dejar esto, tenemos que golpear el espacio varias veces, y cuando lleguemos y presionamos Q. 30. Filtrar el historial: Ahora veamos cómo podemos filtrar nuestro historial de Commit y solo obtener los detalles específicos que queremos ver. Es lo mismo que filtramos productos en Amazon. Y además, también es súper divertido de hacer. Déjame mostrarte. Entonces primero, vemos cómo podemos filtrar nuestros amites usando nombre de autor Entonces aquí escribimos puerta, registro, una línea, autor es igual a aquí escribimos nuestro nombre de autor. Si el nombre del autor tiene espacio en su nombre, entonces tienes que envolver ese nombre en los códigos dobles. De lo contrario, se confunde. Aquí, este nombre de autor es tan sensible, hay que escribir exactamente el mismo nombre. Y si quieres ignorar sensible, entonces al final, simplemente escribe yo y consigue ignorar sensible. Mira aquí conseguimos gametos hechos por nombre Mt Patel. ¿Cómo podemos filtrar más estos ácaros? Correcto, podemos filtrar amidas usando fechas. Entonces Git log, dash one line, dash dash B four equals to here, tenemos que escribir nuestra fecha en códigos dobles como este. 2024 nuestro mes 01-30. Ver, aquí obtenemos todas las amidas antes de esta fecha. Ahora a veces cuando trabajamos en grandes proyectos, nos gusta ver Camids que se comprometieron después de una fecha específica Entonces tenemos aquí después, y aquí pasamos nuestra fecha en el mismo formato. También podemos pasar cuerdas como ayer, dos días, hace una semana, hace un año, etcétera Esto es muy útil. Yo uso mucho esto por qué me tomo uno o dos días de licencia. Ahora a veces queremos filtrar desde nuestro mensaje de compromiso. Por ejemplo, así solo aquellos commits, que tiene word task en el mensaje de commit. Lo escribimos, registro, guión una línea, guión agarrar es igual a en códigos dobles, escribimos tarea. Esto también distingue entre mayúsculas y minúsculas, así que asegúrate de escribir la palabra adecuada. Ver, aquí obtenemos kmtes que mensaje de commit tiene esta palabra de tarea, y por ignorar la sensibilidad entre mayúsculas y minúsculas, lo que agregaremos escribir, agregamos aquí I. C, aquí obtenemos kmtes que tiene palabra tarea en el Ahora a veces queremos encontrar un commit específico que agregue o elimine la función o variable. Por ejemplo, estamos trabajando en el proyecto Todos, queremos saber cuándo agregamos función Agregar todos o cuándo la eliminamos. Para que podamos hacer algo como esto. Git log, guión una línea, mayúsculas aquí en códigos dobles, tenemos que escribir nuestro nombre de función, addTDS Actualmente, en este proyecto, no tenemos esta función. Entonces busco aquí. Ver, aquí obtenemos los commits. Ahora imagina a veces queremos ver sólo los últimos tres cometas o cinco cometas. Entonces podemos escribir git log, dash una línea, cinco. Mira, aquí tenemos los últimos cinco cometas. También, a veces necesitamos ver el historial de archivo específico. Por ejemplo, queremos ver índice punto STMLFlehtory, cuando este archivo Entonces podemos hacer algo así. Git log, guión una línea. Index dot html, y ver aquí podemos ver el historial. Ahora bien, si tu nombre de archivo ya está registrado en la biblioteca Git como tu registro de archivos, entonces aquí, puedes separar este comando y nombre de archivo usando doble guión Ver, aquí obtenemos el mismo resultado. Ahora, déjeme hacerle una pregunta. ¿Y si en este comando queremos ver los cambios dentro de este archivo? Derecha. Tenemos que escribir dash dash page, pero tenemos que escribir página antes este doble guión porque este doble guión separa el comando del nombre del archivo y vemos aquí obtenemos los cambios de archivo. 31. Establecer alias para comandos: Ahora, a veces tenemos que ejecutar varios comandos de Git que usamos con mucha frecuencia, pero son poco largos o son difíciles de recordar. Podemos establecer un atajo para esos comandos. Por ejemplo, frecuentemente ejecutamos este comando Git log dash one line. Vamos a establecer atajo o en términos git, establecer un lias.Ellas simplemente significa otro nombre Escribimos Git config dash global Alias, period. Aquí, tenemos que escribir nuestro nombre de acceso directo para este comando. Entonces escribimos lg para log. Asegúrate de usar nombres significativos porque al final del día, tienes que recordar los nombres de acceso directo, y después de eso, tenemos que escribir nuestro comando original, que es log una línea. Aquí, tenemos que envolver nuestro comando con códigos dobles porque tenemos espacio en el medio y golpeamos Enter. Ahora, verifiquemos que lo configuramos correctamente o no. Entonces lo escribimos configs global E, y abrirá nuestro archivo Config en nuestro editor de código predeterminado Ver, al final, obtenemos nuestro Alias lg para registrar una línea. Quieres actualizar como o eliminar cualquier cosa, entonces puedes hacerlo desde aquí. Por ahora, no queremos cambiar nada, así que vamos a cerrar este archivo. Ahora, usemos nuestro alias. Escribe t lg, y mira aquí obtenemos la salida de nuestro comando, así es como podemos establecer como o atajos para ahorrar nuestro tiempo y memoria porque no necesitamos recordar todo el comando largo. Ahora para el resto de este curso, no uso este alias porque si alguien se une desde la mitad de este curso, entonces no van a entender cómo estoy usando alias. Pero definitivamente puedes usar eso para tu práctica. Depende totalmente de ti. 32. Consulta el compromiso específico en detalles: Hasta ahora hemos visto cómo podemos ver todos los commits. Pero a veces queremos ver los detalles específicos como el commit específico que tiene Bits Commit. Para eso, podemos escribir Git, show, y aquí escribimos nuestra referencia de commit. Consulta aquí obtenemos los detalles sobre este commit específico. Aquí podemos ver que solo tenemos un archivo cambiado y en la parte inferior, tenemos los cambios. Ahora bien, si queremos obtener el último commit reciente, entonces podemos escribir aquí, obtener como cabeza con todas las letras mayúsculas. Si queremos ir más abajo en la lista Commit sin escribir el commit entonces podemos escribir aquí hasta y podemos escribir aquí número, digamos dos. Entonces Git primero encuentra la cabeza y luego mueve dos escalones hacia abajo y danos detalles sobre este commit. Se puede ver que es muy fácil y sencillo. Ahora bien, si queremos ver el nombre del archivo que se cambian en nuestro commit específico, entonces aquí tenemos que escribir Git, show, head till two, name only. Ver, aquí tenemos sólo un archivo que cambia en esta commit. Ahora déjame darte una situación más. Y si queremos ver el contenido completo del archivo específico en commit específico. Entonces obtenemos nuestro comando anterior y simplemente agregamos aquí columna. Y aquí escribimos nuestra ruta de archivo como archivo punto TXT, o si tenemos carpeta, entonces podemos escribir Css detyle punto css Vea aquí obtenemos el contenido completo del archivo específico en nuestro último tercer comando. Así es como podemos ver el commit específico con más detalle. Ahora en la siguiente lección, veremos cómo podemos compararnos con los comandos. 33. Cómo comparar dos commits: Entonces, cuando necesitamos comparar A dos commits para ver qué agregó, eliminó o cambió en nuestro código. Entonces para eso, usaremos el comando Git di. Este comando nos dirá la diferencia entre nuestro directorio de trabajo y el último commit. Actualmente, no tenemos ninguna diferencia. Por eso no conseguimos nada. Aquí, también podemos comparar dos commits específicos. Digamos cabeza hasta dos cabezas espaciales. Aquí en ambos lugares, también podemos agregar referencia de commit. Ver, tiene múltiples archivos y múltiples cambios. Ahora bien, si queremos ver solo un archivo específico cambia entre estos commits, entonces ¿qué haremos? Simplemente, al final de este comando, agregamos nuestro nombre de archivo, estilo CSS punto CSS Ahora en la siguiente lección, veremos ¿cómo podemos restaurar nuestro código a la commit específica? 34. Volver a una versión específica: Ahora, a veces queremos restaurar nuestro código a uno de los mit específicos. Por ejemplo, esto omite. Queremos que nuestro código sea exactamente lo que cometamos en esta omisión. Entonces escribimos Git, echa un vistazo, y aquí agregamos nuestra referencia de omisión Mira, aquí cambiamos a este met. Pero aquí también recibimos esta advertencia, que nos está advirtiendo sobre el estado cabeza desapegada. Ahora muchos desarrolladores confundieron mucho sobre el estado, pero no es muy difícil. Déjame explicarte. Aquí tenemos nuestra estructura de compromiso. Estos son el número de cometas. Este es el primer commet y a la derecha, nos hemos visto por última vez Aquí podemos ver que todos estos commits están vinculados con su commit anterior. Ahora como podemos ver en nuestro Git Bash, actualmente, estamos en nuestra sucursal maestra Branch es el tema poco avanzado en git. Eso lo veremos en la próxima sección. Por ahora, solo entiende que la rama es como la línea que los desarrolladores crean para el trabajo de proyectos individuales. Al igual que si manager te da trabajar en un formulario de inicio de sesión, como desarrollador, creas una nueva sucursal para trabajar en el formulario de inicio de sesión. Master o main es una rama predeterminada en git. Aquí, este maestro es un referente que representa nuestro último kmt Ahora, cada vez que cometemos un nuevo código, este maestro se mueve al último kat. Ahora como sabemos en Git, podemos crear múltiples ramas. En ese caso, cómo git sabe actualmente en qué rama estamos trabajando. Para resolver esto, tenemos otra referencia llamada cabeza. Head señala la rama actual en la que estamos trabajando. Esto ya lo hemos visto antes. Ahora a medida que añadimos nuevos commits, este jefe y maestro también avanzará con nuestro último ácaro. Ahora cuando hacemos check out al commit específico, entonces nuestra referencia principal se mueve a ese commit. Y este es el estado cabeza desapegada. Idealmente, cuando estamos en el estado de cabeza desapegada, en ese momento, no deberíamos comprometer ahí un nuevo código. Si creamos un nuevo commit, entonces ese met se agregará aquí. Ahora, en algún momento, cuando movemos la cabeza hacia el maestro, entonces este cometa no puede acceder por ningún otro cometa Git declara este commit como dead commit, y después de algún tiempo, automáticamente eliminará este commit de su registro. Entonces es mejor no cometer el código cuando estamos en el estado de cabeza desapegada. Siempre podemos mirar nuestro código y experimentar con nuestro código. Ahora, como podemos ver aquí nuestro cambio de pase Git. Anteriormente, llegamos aquí maestro. Pero cuando comprobamos el comando específico, entonces aquí obtenemos el hash de commit de nuestro checkout commit. Ahora en el punto actual, si registramos todos nuestros comandos usando Git log one line, aquí, solo obtenemos cometas que están comprometidos antes de ese cometa específico Otros cometas son invisibles en este punto. No te preocupes, esos otros cometas no se eliminan. Simplemente es invisible. Además, nuestra referencia principal está aquí. Ahora, para ver esos cometas invisibles, tenemos que añadir aquí una variable más, que es todo Ver aquí obtenemos todos nuestros cometas y podemos ver nuestra referencia maestra está aquí y nuestra referencia principal está aquí Ahora para mover nuestra cabeza de nuevo a la referencia principal o maestra, podemos escribir aquí Gate, checkout master, y ver, nos movemos a master y vemos nuestro head point to master. Y ahora conseguimos todos los comads. De esta manera, podemos ver nuestro código anterior en nuestro editor de código o en el explorador de archivos. Y por eso es importante el comando checkout. 35. Detecta el commit con errores en Git Bisect: Ahora imagina si algo pasa en nuestro código y obtenemos nnn Berg en nuestra aplicación, entonces ¿cómo podemos identificar en qué bug de comando sucede Una solución es que podemos verificar todos estos comandos uno por uno usando el comando checkout, pero esto llevará mucho tiempo. En git, tenemos un comando para identificar rápidamente el comando bug, que es mediante el uso de Git by set. Para iniciar este proceso, tenemos que escribir puerta por conjunto, iniciar y golpear Enter. Aquí podemos ver que nuestro Gitbsh está en modo bisectriz. Ahora, después de iniciar el proceso de biseccion, tenemos que marcar primero nuestro commit actual como mal kommt Si quieres saber cuál es el ácaro activo actual, entonces podemos ver eso desde aquí, que es nuestro master commit. Aquí estamos marcando esto como mal abrigo porque nos encontramos con bichos en este abrigo. Git bisect mal. Además, si quieres marcar otro met como kit malo, entonces al final, tenemos que escribir su referencia de commit. Sé que esto es un poco confuso, pero en solo un minuto, entenderás esto. Ahora, después de eso, tenemos que decirle a la marcha, que es el último bien conocido que conocemos Por ejemplo, hasta que esto se cumplió, sabemos que nuestra aplicación no tiene ningún error. Entonces tenemos que hacer esto en tan bueno en. Entonces escribimos puerta, bisectamos bien, y aquí entramos en nuestra referencia Comite Ahora simplemente vamos a registrar nuestros cometas, mira, ahora nuestra cabeza se mueve a la mitad de nuestros cometas Ahora aquí está la parte lógica del comando bisec. Imagina que tenemos estos diez cometas. Marcamos nuestro último cometa como el cometa malo, y nuestro primer cometa es el En el momento en que establecemos nuestro primer amet como buen KumTo cabeza movernos al punto medio entre el bueno y Ahora, debido a que nuestra cabeza está en esto en, nuestro código de trabajo actual será reemplazado por este código amet Podemos consultar nuestra aplicación en este en. Si tenemos bicho en este abrigo, entonces marcaremos esto como malo. Si no tenemos bug en esto en, entonces marcaremos este comido como buen kamte Por ejemplo, encontramos que este amet no tiene ningún problema. Entonces marcaremos este met como bueno usando Git BSc good. Ahora como marcamos este comido como bueno, nuestra cabeza se mueve al punto medio entre nuestro kmt malo y el buen kat Ahora, nuevamente revisamos nuestro código. Si es bueno, entonces lo marcamos como un bien. Y si encontramos este kamete como malo, entonces lo marcamos como un mal cometa Este proceso continuará estrechando la lista, y en ese momento obtenemos el cometa que causa burg Esa es toda la idea del comando bisec. Entonces en nuestro commit, podemos verificar nuestro código en el código Vas y ver si tiene BG o no. Imagina que encontramos que esta confirmación tiene error. Entonces aquí marcamos obtener por sec malo. Ahora, nuevamente, revisaremos nuestra lista, veremos cómo se mueve a esta confirmación. Nuevamente revisamos nuestro código e imaginamos que este commit no tiene burg. Entonces lo haremos bueno usando Git Biseccd. Ver, aquí obtenemos este commit como el que agregó el burg en nuestra aplicación. Entonces así es como funciona el comando bisec. Puede parecer un poco confuso, pero si usas este comando una vez, luego de eso, lo entenderás tan fácilmente. Ahora aquí podemos ver que todavía estamos en el modo bisectriz. Para salir de este modo, tenemos que escribir get bisect reset y ver que estamos de vuelta a nuestro comando maestro Así es como podemos identificar errores en los metes sin verificar todos los metes en la fila 36. Obtener la lista de contribuidores: Ahora bien, si a veces queremos saber cuántos commits suceden por los usuarios para conocer la contribución. Entonces para eso, escribimos Git short log. Ver, aquí obtenemos el nombre de usuario y el número de commits por este usuario. Y también, obtenemos el resumen de los mensajes de commit. Aquí en este proyecto, soy el único colaborador. Entonces por eso está mostrando sólo mi nombre. Ahora incluso podemos modificar este comando usando más opciones. Aquí, lo escribimos log corto, H para ayuda rápida. Y mira aquí obtenemos todas las demás opciones. Por ejemplo, podemos escribir N o guión numérico para cortocircuitar la salida por número de commits realizados por cada usuario Ahora bien, si tenemos larga lista de commits, entonces para C cada colaborador, tenemos que desplazarnos. Después de este N, podemos escribir guión para ignorar el mensaje de commit de resumen. Ver aquí obtenemos solo el número de comas y el nombre de usuario. Ahora en la siguiente lección, veremos el historial del archivo. 37. Historial de navegación del archivo: Ahora ya hemos visto este comando antes. Solo lo estoy agregando aquí porque es la parte de navegar por la sección de historial. Entonces como sabemos, para ver el historial, podemos escribirlo, registrarlo, y para ver el historial del archivo en particular, podemos escribir el nombre del archivo que es índice punto HTML. Mira aquí obtenemos la lista de los cods en los que cambió este archivo Si queremos acotar esta lista, entonces podemos usar aquí guion variable una línea. Ver, ahora es legible. Ahora bien, ¿y si queremos que ocurran los cambios en este archivo? Podemos usar aquí datat para obtener la estadística, o podemos decir número de cambios en este archivo Ver, en el primer commit tenemos 150 cambios. De igual manera, tenemos 35 cambios aquí en los que 32 de inserción y tres de eliminación. Ahora bien, si queremos ver los cambios reales en el archivo, entonces lo que haremos justo en el lugar de este ds dat, escribimos despacho. Puedes ver que los comandos de Git no son difíciles. Es sólo cuestión de práctica, y confío en ti. Después de practicar este comando git en un proyecto, puedes usarlos en cualquier otro proyecto sin que te preocupes. 38. Consulta Autor de cada línea [Git Blame]: Ahora, a veces en nuestro archivo de proyecto, queremos saber quién es el autor de alguna línea en particular. Sucede en mi proyecto, un nuevo desarrollador se une a mi equipo y escribe un código muy malo. Si le pregunto a alguien que escriba este código, entonces nadie responderá, y ya sé quién escribe este código. Así que siempre le pido a ese desarrollador que compruebe quién escribe este código. No me estaba burlando de ese desarrollador al principio, todos estamos en ese nivel. No hay nada de malo en ello. Nadie se convierte en el perfecto al primer día de codificación. Es un viaje que lleva mucho tiempo. Volviendo a nuestro ejemplo de Git, si queremos conocer al autor de línea particular, entonces podemos escribir git culpa, y aquí escribimos nuestro nombre de archivo o ruta. Ver, aquí obtenemos todo el contenido del archivo línea por línea con los detalles. Aquí, primero llegamos a cometer referencia en la que regresa esta línea. Entonces obtenemos el autorame y también obtenemos la fecha y hora Ahora bien, si a veces nuestro archivo tiene muchas líneas y queremos saber solo una línea específica, entonces podemos escribir L aquí, y luego escribimos ese número de línea, el final del número de línea. Digamos que queremos ver sólo tres y cuatro. Entonces aquí escribimos 34. Si queremos ver la línea tres, cuatro y cinco, entonces escribimos 35. Mira aquí sólo conseguimos tres, cuatro, y quinta línea. Para que puedas usar el comando culpar para conocer al autor de cada línea. Ahora en la siguiente lección, veremos cómo podemos dar etiqueta para cometer. 39. Marcar compromisos con etiquetas: Ahora, imagina actualmente esta ayuda está lista para lanzarse en la producción, o queremos marcar este código de confirmación como la versión 1.0. Pero ya doy esto en la versión 1.0. Tengo que dar aquí la versión 1.0 0.1. Entonces para darle un nombre de versión al med se llama como dar etiquetas en Git. Marquemos este amet como la versión 1.0 0.1. Aquí escribimos git tag, versión 1.01. Aquí podemos escribir nuestra referencia de confirmación y aquí no agregamos ninguna referencia de confirmación, entonces por defecto, llegar a darle esta etiqueta a nuestra confirmación actual, que es la confirmación maestra. Ahora si registramos nuestros commits, mira, aquí obtenemos la versión 1.01 de la etiqueta después de esta referencia de commit Ahora bien, si queremos revisar nuestro código a esta confirmación, entonces no necesitamos escribir esta referencia de confirmación. Simplemente podemos usar Git, echa un vistazo a la versión 1.0. Igual que usamos este ID de confirmación, podemos usar esta etiqueta, versión 1.0. Ahora supongamos que quiero ver todas las etiquetas que le di a este proyecto. Entonces simplemente escribimos la etiqueta Git y vemos aquí obtenemos todas las etiquetas que asignamos. Ahora supongamos que agregamos esta etiqueta místicamente, y ahora queremos eliminar esta etiqueta Así que simplemente escribimos git tag D, escribimos nuestro nombre de etiqueta, que es la versión 1.01 Ahora podemos ver que la etiqueta se elimina de la lista. Aquí tenemos esta etiqueta versión 1.0, que llamamos como etiqueta ligera, lo que significa que le damos a nuestro amid solo una referencia como versión 1.0. Ahora en marcha, también hemos anotado etiqueta. Ahora podrías preguntar ¿qué son las etiquetas anotadas? Por lo tanto, la etiqueta anotada se usa para agregar más detalles como el nombre del etiquetador, fecha y la hora y el mensaje de confirmación En palabras simples, con etiquetas anotadas, simplemente podemos agregar más detalles con nuestras etiquetas Aquí está el comando para etiquetas anotadas. Escribimos la etiqueta de puerta A para la versión anotada 1.01 M, que significa mensaje Y en los códigos dobles, podemos ingresar nuestro mensaje como versión de lanzamiento 1.01 Conoce que este mensaje no es muy útil, pero solo te estoy mostrando si quieres agregar mensaje con esta etiqueta anotada, entonces puedes hacerlo de esta manera Ahora bien, si lo escribimos etiqueta, entonces obtenemos dos etiquetas. Si quieres ver mensaje de texto, entonces tenemos que escribir Git tag N. Ver, aquí obtenemos los mensajes de etiqueta. Si nuestra etiqueta es una etiqueta ligera, entonces obtenemos ese mensaje de confirmación como el mensaje de etiqueta. Así que no confundas con eso. Ahora si vemos nuestra versión 1.01 con ella Mostrar comando de la versión 1.01, entonces mira aquí en la parte superior, también obtenemos los detalles del tagger como nombre, correo electrónico, fecha y hora en que damos este mensaje de etiqueta y etiqueta Así es como usamos etiquetas para marcar versiones. 40. Historial de compromiso en Github Desktop: Entonces veamos la historia de nuestros CID en la aplicación Github Extra Así que vamos a abrir este proyecto de sección en la aplicación Github Extra. Ir al archivo, agregar Repositorio Local. Y aquí vemos el camino de nuestra carpeta. Y simplemente selecciona esa carpeta. En la lección anterior, vemos cómo ver los cambios en la aplicación de escritorio Github. Ahora veremos cómo navegamos por el historial de commit usando esta aplicación. Entonces aquí tenemos lista de commits en el lado izquierdo y también obtenemos aquí nuestro texto y aquí en la parte superior, obtenemos el mensaje de Commit, obtenemos el mensaje de Commit nombre del autor y la referencia de Commit. Ahora aquí obtenemos la lista de archivo cambiado. Si hacemos clic en ellos, entonces obtenemos los cambios aquí. Además, podemos cambiar nuestra visión desde esta configuración ahora aquí podemos ver que tenemos muy pocas opciones para navegar por nuestro historial de commits. Por ejemplo, no podemos filtrar nuestras commits, no podemos buscar una función o variable específica y muchas cosas extra. La aplicación de escritorio Github tiene una interfaz de usuario sencilla, pero no es la mejor para usar Git. Este es un artículo que me gusta. En ese artículo, veo que los desarrolladores están diciendo que solo les gusta la aplicación de escritorio Github cuando son principiantes de Git. Pero a medida que aprenden Git con más detalles, realmente no les gusta la aplicación de escritorio Github. Estoy un poco de acuerdo con eso, pero eso no significa que tengas que desinstalar la aplicación de escritorio Github. Puedes usar Github destra Publication si te encuentras cómodo. Depende totalmente de ti. 41. Historial de navegación en VS Code y GitKraken: Ahora veamos cómo podemos navegar por historial usando nuestro editor de código favorito VS code. Entonces como hemos visto en el apartado anterior, aquí podemos ver nuestros cambios en el código. Pero y si queremos ver la historia de nuestros mets y también la lista de cometas. Podemos verlo en el código VS, pero podemos verlo usando una extensión llamada Gitans Esta es una de las extensiones de Git más populares en VSCode, y la parte divertida es que esta extensión es de Git Usas Git Kraken en lugar de Github desktop, entonces verás la misma interfaz que vemos en esta extensión Mira aquí obtenemos dos opciones más en el lado izquierdo para git lens. Abre este primero déjame alejarme un poco, cerrar esto, también cerrar esto. Ahora en esto, tenemos muchas opciones. Ver, primero, tenemos gráfico Commit. Esta es una de las formas populares de ver omite la historia. Aquí, podemos ver, obtenemos una lista de nuestros commits y aquí también podemos obtener el texto que damos a los commits. A continuación, tenemos Commit message, nombre del autor, cambios en los archivos, tiempo y referencia de commit. En la parte superior, obtenemos también la barra de búsqueda para buscar a los cometas. Si buscamos aquí algo, entonces resaltará solo aquellos anuncios, que commit message tiene esta palabra. Ahora para más filtro de búsqueda, tenemos poco desplegable aquí. Primero, obtenemos mis cambios, que nos mostrarán sólo aquellos cometas que son cometidos por ustedes A continuación, tenemos mensaje para buscar el mensaje de commit. A continuación, tenemos autor por el cual podemos buscar commits por nombre de autor. Después de eso, tenemos commit SHA en el que podemos buscar commits por referencia de commit. A continuación, también podemos buscar en un archivo específico. Por ejemplo, escribimos aquí índice punto HTML. Ver, aquí obtenemos solo aquellos commits resaltados. Y por último, tenemos cambio por el cual podemos buscar funciones o variables. Ahora bien, si seleccionamos un comando en el lado derecho, podremos ver más detalles sobre este commit. En la parte superior, obtenemos la referencia de commit. Aquí, sacamos nuestro nombre, hora, y también cometemos mensaje. Ahora en la parte inferior, tenemos sección para archivo cambiado, y aquí obtenemos el número de archivos agregados, que es cero, número de archivos cambian, que es uno, y número de archivos eliminados, que es cero. Y debajo de eso, obtenemos la lista de archivos que se agregan, cambian o eliminan. Si seleccionamos ese archivo, entonces podremos ver la diferencia que hacemos en ese archivo. Muy útil. Ahora, después de las gráficas de commit, tenemos más opciones. Pero como podemos ver, hay muchas cosas que no podemos ver aquí, y por eso los comandos de Git son esenciales para aprender. Depende totalmente de ti lo que quieras aprender. En mi humilde opinión, aprender ambos es más beneficioso para ti. Déjame mostrarte cómo podemos navegar por historial usando la aplicación Git Kraken Abrimos nuestra carpeta de proyectos, que queremos abrir y simplemente haz clic derecho aquí y abrimos con Git Kraken Aquí está la interfaz de la aplicación Git Kraken. Es muy similar a la extensión de lente Git. Aquí obtenemos la lista de commits que hicimos en la parte superior, también tenemos opciones de búsqueda donde podemos buscar por mensaje de Commit. Aquí también podemos filtrar los commits por los autores. Ahora cuando seleccionamos el commit, obtenemos los detalles del commit en el lado derecho. Aquí, obtenemos la referencia de Commit, mensaje de commit, el autor, fecha y la hora, y los archivos modificados. Si seleccionamos Archivo, entonces obtenemos aquí los cambios. También podemos cambiar el tipo de vista a split. En la parte superior, también podemos culpar por ver al autor cometer. En el lado derecho, también tenemos estructura de carpetas de árbol, y también podemos ver todos nuestros archivos de proyectos. Para que puedas ver usándola aplicación Kraken, podemos navegar fácilmente por nuestro historial Usamos lente Git, entonces no obtenemos tanto espacio. Está muy congestionada. Así que usa lo que quieras usar, depende totalmente de ti. Ahora en la siguiente sección, veremos el tema más importante de git, que son las ramas, nos vemos en la siguiente sección. 42. Sección 04 Trabaja con ramas: Bienvenido a la cuarta sección del curso definitivo de Git. En esta sección vamos a aprender todo sobre ramas, cómo crear ramas, verlas, compararlas con ramas, cómo fusionarlas, resolver conflictos, y mucho, mucho más cosas. Este es uno de los temas más importantes de Git. Sé que estás entusiasmado con esto, así que comencemos esta sección. 43. Qué es la rama: Ahora, como sabemos, nuestro proyecto de seguimiento de tareas es el STMLNCSSPject, que creé Ahora imagina que estamos agregando nueva característica. Por ejemplo, arrastrar y robar característica en este proyecto. Entonces, en lugar de agregar esa característica en nuestra rama maestra, podemos crear una nueva rama. La rama Git es como una nueva línea en nuestros mets. Entonces, como sabemos cuando comprometemos nuestro código, obtenemos dar Master Pointer a nuestro último commit. Ahora que decidimos que queremos agregar nueva característica en nuestro proyecto, luego primero, creamos una nueva rama, digamos, función de arrastrar y soltar o función DND Ahora bien, esta sucursal tiene la misma instantánea de nuestro código. Aquí podemos comprometer nuestro nuevo código de función y cuando cometemos ese código no afectará a nuestro código maestro de sucursal. Podemos trabajar en nuestro código aislado. Ahora podrías preguntar por qué necesitamos crear sucursales. ¿Podemos incluso empujar nuestro código a la rama maestra? No, no podemos hacer eso porque si escribimos código, entonces no es el problema. Pero si nos equivocamos con nuestro código, entonces no queremos almacenar código descompuesto en nuestro historial de códigos Si creamos una sucursal y estropeamos nuestro código, entonces simplemente podemos eliminar esta sucursal por completo y no afectará a nuestra rama maestra Esa es la idea. Ahora podrías preguntarte, ¿cómo sabe Git en qué rama o abrigo estamos trabajando? Para eso, Git tiene otro puntero llamado head. Ya hemos visto ese puntero. Por defecto, nuestro puntero de cabeza es con puntero maestro o principal. Si trabajas en otra rama, entonces Git solo mueve el puntero de cabeza a esa rama commit. Así es como están funcionando las sucursales de Git. Por simplicidad, solo recuerda si vas a trabajar en algo diferente, entonces puedes trabajar en eso aislado creando ramas. En las grandes empresas, muchos equipos trabajan en diferentes sucursales, por lo que su código no causará problema con la rama maestra, y obtenemos un código estable en nuestra historia. 44. Crea una nueva rama: Ahora para practicar las sucursales, usaremos nuestro proyecto anterior, que es curso Tarea track. Si estás comenzando con esta sección, entonces puedes obtener esta carpeta de proyectos de seguimiento de tareas en los recursos de este video. En este proyecto, imaginaremos trabajando en la función Dragon drop. Para ello, crearemos nuestra primera nueva sucursal. Crear la rama en Git es muy sencillo. Sólo tenemos que escribir Git branch feature slash DND, lo que significa gota de dragón Aquí, puedes usar cualquier nombre. Estoy usando características las DND para aclarar que estamos trabajando en otra característica, no arreglando los errores Depende totalmente de ti como quieras llamarlo. Este estilo me pareció más útil, así que estoy usando esto. Ahora para ver las sucursales, podemos escribir, portón, sucursal, y echar un vistazo. Aquí solo tenemos dos ramas cuentan con slash DND y nuestra rama predeterminada, que es master Actualmente, estamos en la rama master, y por eso conseguimos estrella antes que rama Master. Y también podemos ver aquí el nombre actual de la sucursal. Ahora para trabajar en la sucursal DND, primero, tenemos que cambiar a esta sucursal DND Al principio para cambiar de rama, tenemos que usar el comando Git checkout. Pero como este comando es un poco confuso, así que consigue introducir un nuevo comando específico para cambiar ramas, que es Git switch. Aquí escribimos nuestro nombre de sucursal, que es característica slash DND Mira aquí nuestra marca cambió Lovely. Ahora, vamos a abrir este proyecto en el código VS usando código periodo. Ahora aquí, digamos que predecimos que agregamos una función de arrastrar y dibujar. Para demostrarlo, abro esta carpeta JS y en ese script punto archivo JS. Y en la parte superior, agrego comando usando Control Slash o Command Slash, agregando ag y draw feature En la parte inferior en el registro de puntos de la consola, esta es la función de arrastrar y soltar. Guarde este archivo y vea aquí obtenemos las modificaciones. Ahora podemos predecir, completamos aquí nuestra implementación de funciones Dragonrop Podemos agregar estos cambios al área de ensayo usando Git add period. Después de eso, Git comt y message implementan la función de caída de dragón Ver, aquí obtenemos un archivo cambiado y dos de inserción. Bonito. Ahora veamos los commits. Obtener registro, una línea. C, en la parte superior, tenemos características slash DND commit y nuestro headpointer se encuentra actualmente en la rama de características Entonces quiero aclarar una cosa es que los cambios que hicimos en esta rama sólo serán visibles en esa rama. Si volvemos a la rama master con kit switch master, mira, aquí obtenemos la versión antigua de nuestro código. Ahora bien, si registramos nuestros commits, aquí no conseguimos la característica granizada D y D capa porque eso en es un paso adelante de nuestra maestra Kate Si quieres ver todas las sucursales, entonces tenemos que escribir aquí, puerta, registro, d guión, una línea, d guión todo. Mira, aquí tenemos la sucursal. En el futuro, completamos con éxito esta implementación de características y queremos agregar ese código con nuestra rama maestra. Podemos fusionar ese código en rama master. Eso lo veremos en las próximas lecciones. Pero después de fusionar nuestra sucursal con la rama maestra, tenemos que eliminar nuestra sucursal Para la eliminación, escribimos Git branch D, aquí escribimos nuestro nombre de sucursal características D y D. Ahora bien, esto nos dará error o podemos decir advertencia, lo que nos está diciendo que esta rama no está completamente fusionada porque no fusionamos esta rama con la rama master. Ahora bien, si seguramente quiere eliminar esta rama, entonces podemos escribir el mismo comando con la D. mayúscula Actualmente, no estoy quitando esta rama porque en las próximas lecciones, te mostraré cómo trabajar con rama y fusionarla. Espero que entiendas sucursales. En palabras simples, conseguir que las sucursales ayuden a los desarrolladores a trabajar de forma aislada. 45. Mira los cambios entre ramas: Ahora, a veces en nuestro proyecto, realidad no podemos recordar lo que cambiamos en nuestra sucursal, sobre todo cuando tomamos dos, tres días de descanso. Entonces, ¿cómo podemos ver la lista de Komats que realizamos después de nuestra rama maestra Entonces para eso, usamos kit, log, master, dot dot. Aquí, escribimos nuestro nombre de sucursal, que es característica slash DND Mira, aquí solo obtenemos uno medio de lo que hicimos en la última lección. Si hicimos más de un commit, entonces también obtenemos todos esos commits aquí si queremos ver solo el mensaje de commit, entonces, por supuesto, podemos usar el guión una línea. Ahora podría preguntarse, y si quiero ver los cambios reales que hicimos entre nuestro maestro y el código de sucursal DND ¿Recuerdas qué comando usamos prevén la diferencia entre dos commits Usamos el comando Diff para eso. Escribimos Git, Dave, master, dot, dot, que son slash D y D. Por este comando, vemos la diferencia entre estas dos ramas Mira, aquí conseguimos que nuestro archivo JS punto de script se cambie, que está en la carpeta JS y podemos ver que se agregan estas dos líneas. Aquí, tengo un pequeño truco de atajo para ti. Si estamos trabajando en una de estas ramas, entonces solo podemos escribir la otra referencia de commit o nombre de sucursal. En palabras simples, aquí estamos actualmente en la rama maestra. Simplemente podemos escribir aquí así, Kate D y escribimos directamente el nombre de nuestra sucursal con la que queremos comparar. Característica slash D y D. Ver, aquí obtenemos la diferencia Ahora se podría decir que estas dos salidas son diferentes y eso es cierto. El caso es que aquí estamos comparando rama master con nuestra característica, slash DND branch, y por eso conseguimos que estas dos líneas se Ahora en la plataforma de atajo, estamos comparando característica, slash rama DND con nuestra rama master, y por eso tenemos aquí dos líneas Pero eso no importa porque sólo queremos ver la diferencia. A veces queremos ver solo los archivos que se cambian. Entonces para eso, podemos escribir Get did name only, o podemos usar n status, y escribimos nuestras características de la sucursal DND Ver, aquí solo cambiamos un archivo que es script dot archivo JS. Entonces, si fusionamos esta sucursal DND con nuestra rama maestra, entonces nuestro único archivo se modificará Usamos tu nombre solo opción dash, luego obtenemos solo los nombres de archivo. Pero a medida que usamos name dash status, entonces obtenemos los nombres de archivo con modificaciones, estado de inserción o eliminación. Ahora en la siguiente lección, veremos sassing git. 46. Domina el stashing: Ahora antes de que empecemos a aprender a esconder, déjame darte una condición Imagina que estás trabajando en tu importante proyecto y estás en la mitad de tu código. Ahora de repente tu manager viene a ti y te dice que corrijas el error en la función de caída de dragón en este momento. Ahora en esta situación, ¿qué vas a hacer? Una opción es que puede confirmar los cambios que realizó y luego trabajar en la función de caída de dragón. Pero como te dije, estás en la mitad de tu código. No se puede comprometer este código. Parece poco profesional. Ahora bien, ¿cuál es la solución en esta situación? En ese momento, podemos almacenar nuestros cambios actuales en la esquina de la puerta y cuando hayamos terminado con nuestra otra tarea, entonces podemos volver a esos cambios. De esta manera, nuestro medio código no se quedará en comas y tampoco perdemos nuestro medio código Este proceso por el que almacenamos nuestro medio código en la esquina se llama atsing Sas significa esconderlo en alguna parte Para mostrar el medio código, agrego en el script dot jslecs Esto es medio código. No quiero perder. Guarde los cambios, y si verificamos nuestro estado actual, aquí, obtenemos una modificación, y si tratamos de cambiar a la rama de características DND, entonces obtenemos el error que dice que sus cambios locales a los siguientes archivos serían sobrescritos por checkout Por favor, comprometa sus cambios o escalonarlos antes de cambiar de sucursal. Básicamente, es decir, si no nos comprometemos o escenificamos los cambios e intentamos cambiar a otra rama, entonces perderemos esos cambios. Entonces, para esconder el código, escribimos Git push A, y aquí escribimos nuestro mensaje de estrés para el resumen Digamos, trabajando en modificaciones del diseño de sitios web. Ver, nos guardamos directorio de trabajo e índice en Master. Ahora queremos ver todo el stass que hicimos en nuestro proyecto. Después escribimos la lista de estadísticas de Git. Mira, aquí obtenemos las Ss, marca como en el rojo en corchete cero en rama Master y nuestro mensaje SS. Ahora aquí hay una cosa. Este comando git stash push no agregará un archivo sin seguimiento en las Por ejemplo, aquí en la carpeta JS, creo un nuevo archivo llamado tamp dot js Y en ese archivo, agrego comando archivo temporal. Guarde esto. Y si escribimos Git status, aquí obtenemos el archivo tempt JS como archivo sin seguimiento Entonces, si ejecutamos aquí Git push, entonces Git no agregará este archivo en nuestro alijo por defecto Entonces para eso, tenemos que escribir aquí, o podemos escribir A, luego para mensaje de escondite Aquí también podemos combinarlos, y luego escribimos nuestro mensaje stash, que es agregar un archivo temporal Ahora bien, si volvemos a ejecutar git stash list, entonces aquí llegamos a stash Mira aquí nuestro primer guión, pasa a las estadísticas airear uno, y nuestro último guión agregado en estadísticas airear cero Aquí sash con éxito nuestros cambios actuales. Ahora podemos cambiar a la rama de función DND usando el conmutador Git, cuenta con rama DND Ver, aquí obtenemos el nombre actual de la sucursal, y en nuestro editor de código, nuestro archivo script también se cambia a la versión de características DND Recuerda, editamos esta línea de consola. Ahora imagina que completamos nuestro trabajo en esta rama, para que podamos volver a cambiar a la rama maestra. Ahora queremos obtener esos cambios que agregamos en el alijo Ahora antes de agregar esos cambios, queremos ver cuáles son esos cambios. Entonces para ver los cambios, escribimos Git show, y aquí escribimos el nombre de nuestro alijo que es iterar entre corchetes Ci, cero Ahora aquí, si no quieres escribir este nombre raro, entonces sólo podemos escribir este número cero. Mira aquí no obtenemos nada porque en esas estadísticas, agregamos solo untrackfle temp Por defecto, no muestre el archivo de pista en este comando. Así que para ver también UntrackFle, tenemos que agregar aquí U. Ver, ahora obtenemos Temp dot js file y Si quieres aplicar esos cambios en nuestro directorio de trabajo local, entonces podemos escribir Git apply zero. Ver, ahora obtenemos track file y además podemos verificarlo en nuestro editor de código. Bueno. Ahora como aplicamos esos cambios en nuestro directorio de trabajo, no necesitamos este cero. Para que podamos quitar el alijo y no queremos reunir demasiado alijo en nuestro proyecto Es muy buena práctica quitar alijo que ya no necesitamos. Podemos escribir Gates drop zero. Ahora bien, si vemos la lista de stache, entonces no obtenemos el alijo Ahora simplemente apliquemos este alijo nuestro directorio de trabajo. Escribimos Git, aplicamos, y lo que escribimos aquí, escribimos. Escribimos aquí de nuevo, cero porque quitamos el primer cero y conseguimos marcar nuestro uno a cero. Mira, obtenemos dos cambios en nuestro proyecto, uno en archivo script y otro archivo de seguimiento. Vamos a eliminar este estrés también. Para que podamos escribirlo caer otra vez, cero. O también podemos usarlo claro. Este comando eliminará toda estasis de nuestro proyecto. Ver, ya se han ido todas las estasis. 47. Comprende Merge en Git: Ahora aquí, imagina que hemos terminado con nuestra función de arrastrar y fila, así que queremos fusionar este código con nuestra rama maestra. Pero antes de hacer nada, primero tenemos que revisar la rama actual. Verás, estamos en la rama maestra. Entonces primero, tenemos que cambiar a la rama DND de barra característica Pero aquí tenemos algunos cambios en nuestro directorio de trabajo, y por eso nos ganó por cambiar. Pero aquí no queremos esos cambios, por lo que podemos cambiar con fuerza a nuestra rama DND de barra de características Para eso, tenemos que escribir puerta, switch, cuatro, característica slash rama DND Revisa tu código antes de ejecutar este comando en tus proyectos porque perderás tus cambios permanentemente. Ahora bien, en nuestro archivo de scrap dot js aquí en la Consola, escribo hecho con función de arrastrar y soltar y además eliminar este comando de la parte superior vamos a eliminar esta consola. Este archivo y también quitar este sello perros archivo. Eso no queremos. Ahora de vuelta a la terminal. Aquí, primero escenificamos nuestros cambios. Y entonces podemos simplemente Git Cate M, completa, función de arrastrar y soltar. Bueno. Ahora queremos fusionar nuestra sucursal de características DND con nuestra rama master Entonces hay dos tipos de fusión en Git. El primero es rápido para fusionarse y el segundo es el de tres vías Veamos cada tipo de fusión con ejemplo sencillo. Primero, veremos el ayuno para nuestra fusión. Entonces aquí tenemos múltiples amidas, y después de eso, creamos una nueva rama llamada característica D&D Ahora en esta rama, hicimos múltiples cometas. Ahora en esta rama, hicimos múltiples Ahora en esta etapa de la ayuda, terminamos con nuestra función, y decidimos fusionar nuestra rama de características con la rama maestra. Entonces en ese momento, podemos fusionar directamente estas dos ramas sin preocuparnos por nada. A esta fusión la llamamos como guerra rápida a la fusión. Ahora veamos la fusión de tres vías. Anteriormente, después de crear la sucursal, no cometimos nada en nuestra rama maestra. Pero en el mundo real, esto sucedió muy raramente porque como sabemos, hay muchos desarrolladores trabajando en una sola aplicación. Existe una posibilidad en la que otros desarrolladores se comprometerán en la rama master. En ese momento, nuestras sucursales se vuelven diversas. Entonces tenemos algunos cambios en rama master que no tenemos en nuestras características S D y D rama. Ahora bien, si ejecutamos merge aquí, Git no mueva nuestro maestro a la característica slash DND commit porque esto eliminará los cambios de la rama master Así que cuando ejecutamos aquí comando merge, Git crea un nuevo commit que combina los cambios de estas dos ramas. Ahora podrías preguntarte por qué llamamos a esta fusión como fusión de tres vías Porque depende de las tres commits. El primero es el punto común de unión de dos ramas. segundo es el último conocido en la rama maestra, que se llama como punta de la rama maestra, y el tercero es la punta de la rama DND de barra característica Git mira estos tres cometas y fusiona nuestro código de acuerdo a que este nuevo cometa que creó por la marcha se llama como Para recapitular, hay dos tipos de fusión. El primero es page for o merge si nuestras ramas no son divergentes o podemos decir que no agregamos nuevo cometa en nuestra rama maestra después de crear una nueva El segundo es la fusión de tres vías si nuestras ramas son divergentes o podemos decir que hicimos un nuevo commit en la rama master después de crear la Ahora en las próximas lecciones, veremos que estos dos se fusionan. No te preocupes, es realmente sencillo. 48. Aplicar la fusión rápida hacia adelante: Ahora, veamos el ayuno para nuestra fusión. Para recapitular rápidamente en rápido para la fusión, tenemos ruta de compromiso lineal y get mueve directamente el puntero maestro a nuestras características Veamos cómo podemos hacer eso. En primer lugar, vamos a registrar todos nuestros códigos, y como sabemos, si quieres ver las sucursales, entonces tenemos que usarlo log, dash one line, dash dash all. Y cuando estamos trabajando con sucursales, podemos escribir aquí opción de gráfico de guiones. Muy recomendable utilizar esta opción gráfica ya que nos mostrará que tenemos diversos cometas o no Además, no es necesario escribir este comando largo cada vez. Se puede utilizar como para eso. Ahora actualmente, no tenemos cometas diversos y por eso no podemos ver gráfica diversa, pero es así Ahora podemos ver actualmente estamos en la rama característica DND porque nuestro puntero de cabeza está aquí Ahora para fusionar esta característica de la rama DND en nuestra rama master, primero tenemos que cambiar a la rama master Bueno. Ahora podemos ver nuestro puntero de cabeza se mueve a la rama maestra. Ahora para fusionar estas ramas, escribimos git merge, y luego escribimos nuestro nombre de rama, que queremos fusionar en rama master. Mira, aquí nos ponemos rápidos para nuestra fusión. Ahora podemos volver a ver todos los cometas usando nuestro comando anterior Mira aquí no conseguimos nuevo cometa solo muévanse sobre Maestro puntero a la característica SS DND rama porque tenemos cometas lineales o podemos decir que no tenemos amidas diversas Y si a veces no queremos aplicar la fusión de avance rápido. Está totalmente bien. En git, también podemos aplicar la fusión no fast forward, y lo veremos en la siguiente lección. 49. Fusiona no hacia adelante rápido: Ahora, déjenme mostrarles cómo podemos evitar la fusión de avance rápido Entonces, para demostrarlo, tenemos que crear una nueva rama, y luego tenemos que cambiar a esa rama. Entonces estos son dos pasos diferentes. Déjame mostrarte un atajo para hacer estos dos pasos en un solo paso. Entonces podemos escribir el interruptor de puerta C para crear aquí escribimos nuestro nombre de sucursal. Digamos características Feedback. Mira, cambiamos directamente a la rama de retroalimentación. Ahora volvemos al código VS, y aquí abro index dot stmlfle Si te preguntas cómo estoy abriendo el archivo, solo presiona Control más P o Comando más P y escribe aquí el nombre del archivo. Ahora en la parte inferior, después de nuestra etiqueta principal, agrego un comentario para el formulario de comentarios. Imagina que agregamos aquí formulario de comentarios, guardamos los cambios y volvemos a nuestro Git Bash Aquí, primero escalonamos todos los cambios y luego los comprometemos como mensaje de confirmación realizado con la función de retroalimentación. Bueno. Ahora, vamos a revisar nuestro historial de comentarios. Mira, aquí conseguimos nuestro último compromiso. Ahora fusionemos esta rama de retroalimentación con nuestra rama maestra mediante una fusión no rápida Lo que haremos antes de fusionarnos, volvemos a la rama maestra Ahora aquí escribimos Gate, merge, Ff para ningún avance rápido y simplemente escribimos aquí el nombre de nuestra sucursal, que es Feature Slash Feature Feature Por este comando, le estamos diciendo a Git, si es posible avanzar rápido en esta fusión, todavía no lo hagas y haz un nuevo comando, que combinaba dos ramas. La diferencia fácil entre la fusión de avance rápido y la fusión avance no rápido está en la fusión de avance rápido, git no crea una nueva confirmación, pero en la fusión no rápida, Git crea Ahora, en el momento en que presionamos Enter aquí, Git pide un mensaje de confirmación de fusión. Por defecto, obtenemos aquí este mensaje de confirmación generado por git. Si queremos cambiarlo, entonces podemos cambiarlo aquí. Guarde el archivo y cierre el archivo. Ahora en nuestra terminal, podemos ver fusión hecha. Y si vemos historial con opción de gráfico, mira, aquí obtenemos la gráfica de nuestros commits. Podemos ver nuestro puntero maestro, pero nuestra rama de retroalimentación de características sigue ahí, y Git crea un cómico de fusión que combina los cambios de retroalimentación de características con la rama maestra Y obtenemos esta gráfica porque agregamos la opción graph en nuestro comando log. Ahora podría preguntarse ¿qué es lo mejor para fusionarse? Fusión rápida o deberíamos usar non fast for o merge. Veamos los pros y los contras para estos ambos fusionándose. En primer lugar, cuando usamos fast para fusionarnos, podemos ver nuestra historia muy claramente porque no hay divergencia en Pero si usamos no rápido para fusionarnos, entonces nuestra historia podría parecer un poco confusa Ahora mismo, podemos ver eso porque sólo tenemos una divergencia Pero en el mundo real, los grandes proyectos no tienen una sola rama. Son múltiples sucursales y muchas ramas diversas. Es por eso que no rápido para fusionar se ve poco confuso eso también significa rápido para fusionar tiene más claridad visual y por otro lado, tenemos menos claridad visual sobre nuestros Ahora, otra cosa es, si usamos fast forward merge, entonces podríamos saltarnos algunos contextos como cuando se integran cambios específicos. Pero si usamos non fast para fusionar, entonces no perdemos ningún contexto. Con cada cometas fusionados, tenemos detalles sobre cuándo y dónde hacemos los cambios Ahora después de eso, en rápido por fusión, no podemos aislar nuestro código de dos sucursales Pero en no rápido para nuestra fusión, podemos aislar nuestro código de dos ramas porque tenemos gomitas de fusión separadas Estos son los pros y los contras de estas dos fusiones. En mi opinión, estas dos opciones tiene pros y contras. Estás trabajando de manera individual, entonces puedes seleccionar cualquier tipo de fusión. Depende totalmente de ti. Pero muchas veces tu equipo te dirá que uses la fusión de avance rápido o no. Ahora, cuando estamos en flujo de nuestro trabajo, posible que olvidemos no usar ninguna opción de avance rápido, y su empresa le diga que use solo la opción de avance no rápido. Entonces la solución de esta situación es que podemos establecer opción de avance no rápido para nuestro repositorio actual, o también podemos configurarlo para todo el repositorio en nuestro sistema. Para eso, podemos escribirlo config, FF, no. Este comando deshabilitará avance rápido en nuestro repositorio actual. Además, si queremos desactivar avance rápido para todos los repositorios, entonces podemos simplemente addhee dads 50. Comprende la fusión de 3 vías: Ahora veamos la fusión de tres vías. Como sabemos si creamos una nueva rama, hacemos commit en esa rama, y luego también nos comprometemos en nuestra rama maestra, entonces podemos llamar a estas dos ramas o divergir entre sí Ahora en esta situación, mira ambas puntas de estas ramas y también mira al cometa común por donde estas dos ramas consiguen divergir Se da cuenta de la mejor manera de combinar estas dos ramas y aplicar esos cambios en el nuevo cometa. Para demostrarlo, nuevamente, creamos una nueva sucursal. Usando el interruptor de puerta C para Crear, y luego le damos nuestro nombre característica slash usuario Registrarse Ahora volvamos al código VS. Aquí en la carpeta del proyecto, creamos una nueva carpeta llamada registro de usuarios. Y dentro de esta carpeta, creamos un nuevo archivo llamado formulario registro punto SGML Y dentro de esto, rápidamente agrego fragmento HTML y cambio el título al registro como nuevo usuario Guarde este archivo y vuelva a nuestra terminal. Aquí, primero escalonamos todos los cambios y luego también los comprometemos en nuestra sucursal de registro de usuarios. Bueno. Veamos nuestro historial usando Git log, dash one line, dash all, Des dash graph. Ver, aquí tenemos nuestra nueva sucursal. Ahora, volvamos a cambiar a la rama maestra. En el archivo script dot js, agregamos aquí consola dot log line, y aquí consolamos aprendiendo la fusión de tres vías Guarda el archivo, y en el Git Bash, primero, montamos nuestros cambios, y luego simplemente cometemos los cambios Git, actualizar script dot js archivo para la fusión de tres vías. Bueno. Ahora volvamos a ver la historia. Aquí podemos ver la divergencia en nuestras ramas. Si estamos trabajando en esta rama, entonces podemos ir directamente aquí en la rama maestra. Esto se llama rama divergente. Ahora vamos a fusionar estas dos ramas. Aquí hay una buena noticia para ti. No tenemos comando separado para la fusión de tres vías. Es el mismo comando que usamos para la fusión de avance rápido Si tenemos ramas divergentes, lo que significa que teníamos viene en la rama maestra después de crear una nueva rama, luego obtener automáticamente aplicar fusión de tres vías ¿Cuál es el comando para fusionar? Derecha, git merge, y aquí agregamos feature slash user y presionamos Tab Completará automáticamente el comando. Aquí, pregunta por el mensaje merge commit. Lo dejo como está, cierro este archivo y vea aquí nuestras sucursales se fusionan. Y si vemos nuestra gráfica de historia, entonces podemos ver aquí tenemos nuestro cometa rama, y aquí tenemos en medio, que hicimos en nuestra rama maestra, y Gate fusionan estos dos cometas en esta fusión separada commit Así es como funciona la fusión de tres vías. Podrías pedir fusión de tres vías y no rápido para fusionar son los mismos, y tuve la misma pregunta cuando estaba aprendiendo fusión en La respuesta es no. No son iguales. Podrían verse similares, pero no son iguales entre sí. La diferencia es si en la fusión, tenemos cometas lineales y aún queremos combinar ramas en los nuevos cometas fusionados A esto se le llama fusión no rápida. Pero en la fusión de tres vías, siempre tenemos cometas divergentes, obtenemos automáticamente ramas combinadas en el nuevo Esa es la diferencia entre no rápido para la fusión y la fusión de tres vías. Ahora en la siguiente lección, veremos ¿cómo podemos eliminar merge branch de nuestro repositorio? 51. Borra la rama después de fusionar: Yo ahora cuando estamos trabajando con ramas en el git, si completamos trabajando en una rama y las fusionamos en el master, entonces no necesitamos esa rama. Creará confusión para nosotros y para los miembros de nuestro equipo también. Vamos a comprobar cuáles son las ramas que hemos creado usando git branch. Mira, aquí tenemos cuatro sucursales, y ahora quiero saber qué sucursales fusionamos en nuestra rama actual, cuál es la maestra. Escribimos git branch, dash merge. Vea, aquí obtenemos la lista de commits que están completamente fusionados en nuestro maestro de sucursal actual. Aquí obtenemos todas las sucursales porque fusionamos todas estas sucursales en nuestra rama maestra. Ahora podemos eliminar las ramas usando la rama Git, D, y escribimos nuestro nombre de sucursal, digamos característica D&D Ahora, si vemos el historial de nuestros ames, entonces característica DND eliminado de la historia. Ahora, si vemos el historial de nuestros ames, entonces característica DND eliminado de Aquí está el antes y el después de la historia. Ver, solo quita la sucursal de aquí. El medio se quedará ahí tal como está. Actualmente, no voy a retirar estas otras sucursales porque las necesito en el futuro. Ahora déjame darte un bono. En lugar de observar las ramas que se fusionan, es fácil ver directamente las ramas que no se fusionan, para que podamos fusionarlas en el futuro. Podemos tener en nuestra mente no dejar caer esa rama por error. Para eso, escribimos git branch, no, d fusionado. Mira aquí no obtenemos ninguna sucursal porque fusionamos todas las sucursales en nuestro maestro de sucursal actual. Ahora en la siguiente lección, veremos cómo resolver conflictos en git. 52. Cómo resolver conflictos en Git: Ahora antes de comenzar esta lección, quiero hacerle una pregunta sencilla. Imagina que tenemos dos ramas. Uno es maestro, y el segundo es el inicio de sesión de la función de barras. Ahora imagina que cambiamos el archivo SM de punto índice en nuestra rama master y cometemos los cambios. Y también en la rama de inicio de sesión de características, cambiamos algo en el índice punto stmlfle En definitiva, en estas dos ramas, archivo SML de punto índice es diferente Esa vez, si fusionamos estas dos ramas, entonces Git confundirá qué cambios debería tomar y qué cambios debería evitar. Y eso se llama como conflictos en Git. Entonces, cuando cambiamos el mismo archivo en diferentes ramas, y Git puede fusionar automáticamente esas dos ramas, eso se llama conflicto. Ahora podría preguntarse ¿cuáles son las posibles soluciones en las que ocurren los conflictos? Entonces primero es el cambio. Cambiamos la misma línea de nuestro expediente en ambas ramas. Después de eso, en una rama, eliminamos un archivo, y en la otra rama, cambiamos ese mismo archivo. También se producen conflictos. Además, renombramos el nombre del archivo en una rama y el mismo archivo en la otra rama. Además, agregamos archivo un punto TXT en la primera rama, y también agregamos archivo un punto TXT en la segunda rama, pero el contenido del archivo es diferente a que también se produzcan conflictos. Estas son las situaciones comunes en las que puede ocurrir un conflicto. Ahora bien, podría preguntarse ¿qué va a hacer en esta situación? ¿Y cuál es la solución para resolver el conflicto? Simplemente git nos preguntará y nos dará opciones qué cambios queremos hacer. No va a interferir en el conflicto. Simplemente nos preguntará ¿qué queremos hacer ante esta situación? Déjame mostrarte eso prácticamente. Para demostrar el conflicto, primero tenemos que crear un conflicto. Escribamos el interruptor de puerta C, sesión de funciones y lo que escribe este comando. Creará una rama de inicio de sesión de funciones y también cambiará a esa rama. Ahora déjame cambiar en el archivo ScrapTGS. La segunda línea, escribo aquí, consola dot log, consola para función, rama de inicio de sesión de slash Guarde este archivo, y permítame escenificar los cambios y también cometer estos cambios con el mensaje de compromiso, modificar script dot js archivo para características inicio de sesión. Hecho. Ahora cambiemos a la rama master y también en el código VS, también cambiamos la segunda línea y escribimos aquí, Consola para rama master. Guarde este archivo. Y probemos los cambios. Y además, nos comprometemos con mensaje, Modificar script dot js file for master. Ahora, intentemos fusionar estas dos ramas. Así que ejecutamos Gate merge, feature slash login. Ver, aquí obtenemos conflicto y puerta diciendo fusionar conflicto en script dot archivo JS. Y también, dice, fusión automática falla y soluciona el conflicto, y luego el resultado committer Entonces aquí tenemos que hacer manualmente los cambios y también podemos ver que estamos en medio de la fusión Déjame mostrarte el estado actual por git status. Ver, aquí tenemos camino sin fusionar. Déjame mostrarte algo genial. Abra el código VS y vea, aquí hemos cambiado la línea resaltada, lo que está causando conflicto. No te confundas con esta pantalla. Es realmente simple. Ver, primero obtenemos el puntero de encabezado, que está indicando la rama actual que es master, y debajo de eso, tenemos el cambio, nos comprometemos en la rama master. Después de eso, tenemos línea para la separación, y luego tenemos el cambio que hicimos en la característica ss login branch. ¿Ves? Aquí tenemos un par de opciones que nos da el código VS. El primero es aceptar los cambios actuales. Si seleccionamos, entonces acepta los cambios actuales, por lo que aplicará los cambios de la rama actual. Deshagamos esto usando Control plus set o Command plus set. Ahora bien, si seleccionamos aceptar los cambios entrantes, entonces se aplicarán los cambios de la segunda rama, y podremos aplicar ambos cambios, y la última opción es comparar ambos cambios. Comparará nuestros archivos uno al lado del otro. Entonces vamos a cerrar este comparativo. Aquí tenemos opciones por código VS. También podemos cambiar manualmente el archivo. Entonces, eliminemos esta característica, recortemos el puntero de inicio de sesión, y también eliminemos esta separación de líneas y también eliminemos este puntero de cabeza Si queremos mover estas líneas arriba y abajo, entonces también podemos hacerlo. Pero siempre recuerda aquí no agregamos un código nuevo porque el objetivo principal de la fusión es fusionar el código de dos ramas, no agregar un nuevo código, pero a veces debemos tener que agregar nuevos cambios. Si no es evitable, entonces puedes hacerlo también Ahora después de que hayamos terminado con nuestros cambios, servimos el archivo y volvemos a la terminal. Aquí, tenemos que poner en primer lugar los cambios por git add period. Ahora vamos a comprobar nuestro estado actual. Verás, no tenemos camino sin fusionar. Podemos escribir Git commit y obtenemos el mensaje de commit aquí. Lo dejo como está, cierro el archivo y veo, fusionamos nuestras dos ramas, y además el estado de fusión se ha ido 53. Interrumpe el conflicto en Merge: Ahora, a veces ejecutamos el comando merge y nos da conflicto, pero en ese punto, no queremos resolver ese conflicto porque los conflictos ocurren por error. Entonces, en lugar de seguir adelante en el estado de fusión, vamos sobre este comando merge Para eso, no voy a crear una nueva rama y crear conflicto. Te mostraré mi grabación de pantalla anterior antes de que resolvamos nuestro conflicto. Aquí ejecutamos el comando Git merge. Verás, tenemos conflicto. No queremos ir más allá, podemos escribir, computar, fundir, y ver que estamos un paso atrás del estado de fusión 54. Restablece el commit de fusión: A ahora a veces cuando fusionamos dos sucursales y nuestro código deja de estacionarse o se estrelló, puede suceder porque cometemos algún error al fusionar Por lo que hay dos soluciones para esta situación. En primer lugar, podemos restablecer nuestro commit de fusión a la anterior en medio antes de fusionar. Y la segunda opción es que podemos deshacer nuestro código merge y comprometerlo en el nuevo at. No confundas con esto, déjame explicarte cada escenario. Entonces primero, vemos el cometa reset merge. Entonces aquí en nuestro Caid, nuestro puntero de cabeza y maestro está en nuestra fusión se reunió Este es nuestro apuntador de sucursal. Ahora en este commit de fusión, obtenemos el problema. Así podemos restablecer nuestro cometa moviendo este tanto puntero al anterior en antes de que hagamos fusión Básicamente, estamos restableciendo la capa merge a la capa anterior Ahora podría preguntarse ¿qué pasará con este commit de fusión? Entonces a medida que movemos a nuestro maestro y apuntador de cabeza a la anterior en, esto en medio se vuelve inútil Después de algún tiempo, automáticamente eliminará esto en medio de nuestro repositorio. Ahora como podemos ver indirectamente estamos cambiando o reescribiendo el historial de commit, y eso está bien solo si tenemos repositorio localmente Pero si tenemos muchos miembros del equipo trabajando en este proyecto, entonces no consideramos esta opción. En esta situación, cuando tenemos miembros del equipo trabajando en un mismo proyecto, entonces tenemos que revertir nuestro código y comprometerlo en el nuevo comando Entonces nuevamente, tenemos nuestro historial de compromiso. Cuando revertimos nuestra fusión, entonces Git era la punta de las ramas Ahora, en lugar de mover este tanto puntero con el cometa anterior, Git toma los cambios del amet anterior, lo deshace y luego hace otro cometa que es el Podemos ver que este código de commit anterior es el mismo que este código de commit revert Este método es más conveniente porque aquí no reescribimos nuestro historial de Git Déjame mostrarte este método de ambos uno por uno. Primero, vemos la opción de reinicio. Entonces para eso, escribimos git reset, dash dash hard. Aquí escribimos duro. Te lo explicaré en tan solo un minuto. Y aquí escribimos nuestra referencia de compromiso, que podemos llamar como cabeza hasta una. Ahora antes de ejecutar este comando, asegúrate de escribir el commit a partir de este ammt merge en algún lugar de tus nodos Ahora, básicamente, este comando le dirá a Git que mueva el puntero master y head al commit anterior. Aquí podría preguntarse, ¿qué es esta opción difícil de hacer? Entonces cuando ejecutamos el comando reset, tenemos tres opciones, soft, mixed y hard. Déjame explicarte esto en detalle. Entonces aquí tenemos nuestro código de directorio de trabajo, código área de ensayo, y tenemos nuestro código Commit. Ahora cuando ejecutamos el comando reset con la opción soft, solo restablecerá nuestro código de commit al commit específico, pero no tocará nuestro código de área de ensayo código de directorio de trabajo. Por lo que nuestros cambios en el directorio de trabajo y el área de puesta en escena seguirán siendo los mismos que tenemos actualmente. Ahora, si usamos la opción mixta DSDs, que es la opción predeterminada, restablecerá el código de commit y también modificará el código del área de ensayo a esa commit específica Y ahora ¿puedes adivinar qué hace esta dura opción? Bien, restablecerá el código de commit, código del área de ensayo y también el código del directorio de trabajo al comando específico. Entonces es por eso que usamos la opción hard con el comando reset. Entonces ejecutemos este comando. Ver, aquí obtenemos la cabeza está ahora en este commit y también podemos ver el mensaje de commit. Volvamos a revisar nuestro historial. Consulta aquí nuestro jefe y maestro se mueve a la commit anterior en la rama master, y no vemos nuestra commit merge en esta lista, pero aún podemos movernos a esa commit porque Get elimina ese commit inmediatamente. Escribimos git reset dash had, y aquí escribimos ese merge commit, que es E siete, E siete, d ocho. Ver ahora nuestra cabeza se mueve a la fusión commit. Podemos ver en nuestra historia, obtenemos la misma fusión mit. Ahora en la siguiente lección, veremos la mejor manera de deshacer la fusión, que es por revertir 55. Revierte el compromiso de fusión: Ahora, déjame mostrarte la segunda opción para deshacer la fusión, que es revertir los cambios de fusión Entonces para eso, escribimos git revert, y aquí escribimos nuestro commit has, que queremos revertir En nuestro caso, es este compromiso de cabeza. Entonces escribimos aquí, cabeza y golpeamos Enter. Ver, aquí obtenemos error. Commit es merge, pero no se dio ninguna opción. Revertir fallar. Entonces, ¿cuál es la opción de que habla Kit? Entonces aquí está nuestro compromiso de fusión. Cuando decimos revertir a fusionar commit, Git tiene dos opciones Primero, G revertirá commit al último commit de la rama master, y nosotros llamamos a este commit como primer padre porque estamos en la rama master Ahora la segunda opción es que volverá al último cometa de la rama característica, que se llama como segundo padre Entonces escribimos aquí git revert M uno, que es el primer padre de nuestra rama actual, que es master, y que commit queremos revertir, queremos revertir head Queremos revertir los cambios como segundo comando padre, entonces podemos escribir aquí M dos, pero eso es raro Vamos a cambiarlo por el uno y darle a Enter. Ahora consigue pedir el mensaje de comando. No quiero cambiarlo, así que simplemente cierro el archivo. Ahora, veamos la historia. Ver en la parte superior, tenemos nuevo Commit, que es el commit revert de esta commit de fusión Así es como podemos revertir nuestra fusión sin reescribir el historial de commit Siempre prefiero elegir esta opción de revertir en lugar de reiniciar, pero en definitiva la elección es tuya. Si tu proyecto es local, entonces puedes usar lo que quieras. Pero al trabajar con equipo, revertir es mejor opción 56. Fusiona Squash en el historial de compromisos: Ahora, antes de aprender a fusionar squash, que es otra técnica de fusión, déjame darte una situación Entonces aquí está nuestro historial de compromiso, y tenemos una sucursal llamada Fix Bergh Login En esta rama, solucionamos errores en nuestra función de inicio de sesión. Entonces en esta rama, tenemos un par de commits F uno, F dos, y F tres. Terminamos con el error de corrección en el formulario de inicio de sesión. Podemos fusionar estas dos ramas. Ahora aquí, como podemos ver, este F uno, F dos y F tres es parte de nuestra historia de compromiso. Pero para arreglar el error, imagina que hicimos algunos malos commits, como cambiar este poquito y cometerlo. Estamos a la mitad de nuestro arreglo del error, y por solo puntos de control, hicimos estos cometas En este caso, no queremos agregar este F uno, F dos y F tres en nuestro historial de compromiso. Entonces la solución es antes de fusionar nuestras ramas, creamos un kami de squash, que es la combinación de este F uno, F dos y F tres todos en un solo cometa Y entonces simplemente podemos mover nuestro puntero maestro a este cometa. Pero recuerda, esto no es el fusionado en porque este cometa no tiene dos padres reunidos y también podemos ver que no está conectado con el cometa F tres Como aquí tenemos todos los cambios de esta rama, podemos dejar esta rama de nuestra historia met, y ahora tenemos historia lineal y no tenemos mala capa de rama. Este es el beneficio de usar la fusión de squash. Ahora podrías preguntar, ¿ deberíamos usar siempre técnica de fusión de squash? La respuesta es no. Solo usaremos fusión de squash cuando nuestros cometas de rama sean malos o no queramos mantener a los cometas en la historia Por ejemplo, me gusta usar la fusión de squash cuando trabajo para arreglar pequeños errores o característica muy pequeña, que puedo completar en una a 2 horas Las situaciones, no necesito esos puestos de control. Pero si la función o bug es grande, entonces no uso squash merge y mantengo los puntos de control en la historia Ahora veamos fusionarse squash en nuestro proyecto. Aquí, antes que nada, vamos a crear rápidamente una nueva rama usando Git switch, C Fix Bugs Login. Vamos al código VS para el cambio, elimino estas tres líneas de consola y adhiero newconsole dot log Corregir el error de inicio de sesión Checkpoint uno. Imagina aquí tu horario de oficina se acaba y quieres arreglar el error mañana. Entonces por eso CheckPoint uno. Guarde este archivo ahora de nuevo en nuestra terminal, y en lugar de stage y Comet en dos pasos, podemos usar aquí atajo que es Git AM y escribir mensaje de commit, bug pigs en función de inicio de sesión, checkpoint Bueno. Ahora para demostrarlo más claramente, haremos un commit más en esta rama. En nuestro caso, venimos al día siguiente en la oficina y arreglamos el error por completo. Entonces vis Cd, y aquí eliminamos el checkpoint uno porque arreglamos el bug completamente Ahora de nuevo, volvemos a la terminal, y aquí escribimos gate com amfigBug en función de inicio de sesión completa Bueno. Ahora veamos la historia. Consulta aquí en la parte superior, tenemos dos commits de rama. Pero como puedes ver se ve feo. ¿Qué es este punto de control? Aquí, aplicamos la fusión de squash. Es realmente simple. Básicamente, los comandos son muy simples, solo haciendo que esa situación tome más tiempo aquí. Pero es importante mostrarte el verdadero ejemplo. Ahora aquí se podría preguntar, ¿ podemos hacer aquí empujar por una fusión Porque no tenemos ramas divergentes Sí, podemos hacer aquí rápido para nuestra fusión, pero en este caso, no queremos salvar a estos dos cometas en la historia Solo queremos guardar los cambios, y por eso aquí hacemos fusión de squash, que combinará cambios de estas dos ramas cometa. En primer lugar, tenemos que cambiar a nuestra sucursal maestra. Ahora, anteriormente, escribimos para merge, Git Merge, Fixburg Login Pero para la fusión de squash, solo agregamos aquí opciones squash. Entonces aquí podemos ver que hicimos squash Kammit. Y aquí está la lista de archivos que cambiaron. En nuestro caso, solo tenemos un archivo porque solo cambiamos el archivo script dot JS, pero no agregaba directamente ese commit en nuestro historial. Estos cambios son solo en la zona de espera. Déjame mostrarte. Ejecutamos Gate status, C, aquí obtenemos script dot js file, el cual se modifica. Ahora podemos cometer estos cambios, gate commit. Aquí escribimos combine commit message, que siembra todos los cambios suceden en esta rama Digamos que se corrigió el error de la página de inicio de sesión arreglando el tipo de datos y el punto final en la solicitud de API. Bueno. Ahora, veamos la historia. Ver, en la parte superior, tenemos otro cometa, pero no está vinculado con la rama Fix buerg slash Así que cuando eliminamos esta corrección buurgs log in branch, entonces obtenemos un historial de commit claro y lineal Ahora bien, aquí podría preguntarse, ¿y si no retiramos esta sucursal? Idealmente, deberíamos eliminar la rama después de hacer squash merge porque esta rama no se declara como la rama fusionada. Déjame mostrarte a lo que me refiero. Si escribimos rama Ket, guión fusionado. Aquí, obtenemos la sucursal de inicio de sesión de FixBurg como sucursal no fusionada. Pero como sabemos, ya agregamos este código de sucursal en nuestra historia usando squash merge. Esto creará confusión en nuestra historia. Entonces es mejor dejar caer esta rama cuando hacemos fusión de squash. ¿Recuerdas qué comando usaremos para dejar caer la rama? No te preocupes. Si no te acuerdas, también puedes usar el set de trampas. Escribimos Git branch, D, y aquí escribimos el nombre de la sucursal que es Fixburg login Aquí nos sale el error, que es decir que las ramas no están completamente fusionadas. Entonces aquí tenemos que abandonar con fuerza esta rama. Traes el comando anterior y simplemente quitamos esta D y agregamos aquí D. C, nuestra sucursal eliminada con éxito. Ahora, si revisamos nuestro historial de compromiso, nos limpiamos en tu historial. Usamos squash merge cuando no queremos guardar malas commits de nuestras sucursales. 57. Cómo degradar la rama: Entonces, ¿qué es rebasar en git? Rebasing es una técnica que se utiliza para cambiar la commit base de la rama a otra Déjame explicarte con el ejemplo. Aquí está nuestro historial de compromiso y estamos trabajando en la rama llamada features OT. Ahora aquí, mientras estamos trabajando en la rama OT, digamos que alguien tenía compromiso con la rama maestra. Ahora queremos fusionar estos cambios de rama maestra en nuestra rama de características sin crear las fusiones innecesarias Aquí, ¿cuál es la solución? Una solución es fusionar estas dos ramas y luego seguir trabajando en ellas. Pero entonces tenemos que crear también otra característica menos oth rama. Eso lo podemos hacer. Otra solución es que podemos usar rebasing, lo que básicamente significa que podemos cambiar la base de nuestra sucursal Actualmente, esta es la base de nuestra otra rama. Si cambiamos nuestra base a este último commit maestro, entonces llegamos a los cambios en nuestra rama oth sin fusionar las ramas Eso es lo que es rebase. Simplemente estamos cambiando el commit base de nuestra rama. Ahora aquí hay una cosa que hay que tener en cuenta esta técnica de rebasar, reescribir nuestra Cuando cambiamos nuestra base a otro amet, entonces Git no cambia el F original uno Kamete Es simplemente tomar estos dos abrigos y crear un mismo amet que ellos y luego vincularlos con la última capa maestra luego simplemente mover este punto de rama aquí Ahora, como podemos ver, estos comandos no están conectados con la F para cometer, caerán este F uno y F para cometer. Es por eso que rebasar reescribir el historial de comandos, y por eso solo aplicaremos rebasing cuando estemos trabajando localmente De lo contrario, nuestra historia se convierte en masa. Ahora déjame mostrarte cómo podemos realizar rebasing. Primero, tenemos que crear una nueva rama usando Git switch, la función C OT y volver al código VS. Aquí simplemente creamos un nuevo archivo en Jsfolder llamado auth Y aquí simplemente consola dot log trabajando en la autenticación. Guarde este archivo. Ahora menos estos cambios. Y luego cometerlo con mensaje en orth punto Jspile Sé que este no es un mensaje apropiado, pero para demo, está bien. Entonces ahora tenemos sucursal con una Kat. Comprobemos nuestro historial. Aquí, tenemos que hacer una kamita en master para crear kamits divergentes Entonces, antes que nada, volveremos a cambiar a la rama maestra. Abra el código VS, y haré cambios en el archivo script dot js. Entonces aquí simplemente elimino este mensaje de consola, y aquí mismo se requieren algunos cambios para la rama OT y guardo esto. Ahora volvamos a la terminal y probemos los cambios, bueno, y también lo comprometemos. Git commit M, cambios que son necesarios para OT. El ahora vamos a revisar nuestra historia. Ver, ahora nuestra historia es divergente. Si no divergimos nuestras ramas, entonces andar, por defecto aplicar fusión de avance rápido Ahora tenemos nuestras ramas divergentes. Entonces tenemos dos opciones. Podemos aplicar fusión de tres vías o podemos rebasar. Actualmente, nuestra otra rama está apuntando a esto en. Ahora en rebasar, vamos a hacer que nuestra otra rama apunte a esta cumbre, que es la última en medio en el maestro Para rebasar, el primer paso es que tenemos que movernos a la rama que queremos rebasar Aquí, queremos rebasar nuestras características de la rama OT, y después de eso, aplicaremos rebase Primero cambiaremos a la rama OT característica. Ahora bien, ¿cuál es el comando para rebase? Es realmente simple. Escribe git rebase, y master. Básicamente, le estamos diciendo a Git. Queremos rebasar nuestra rama actual al puntero Master, que actualmente se encuentra en el último comando en la rama master Ver, revisamos con éxito nuestra sucursal. En el mundo real, muchas veces durante el rebasing, obtenemos conflictos Te voy a mostrar cómo podemos lidiar con los conflictos en la siguiente lección. Actualmente, solo nos enfocamos en la simple rebase. Veamos qué vamos a conseguir en la historia. Ver, aquí obtenemos historia lineal. Ahora, si queremos fusionar estos, entonces primero cambiamos al maestro, luego simplemente ejecutamos get merge, feature OT y done. Ver, aquí nos ponemos rápidos para nuestra fusión porque tenemos historia lineal. Para explicarte esto con mayor claridad, aquí está el antes y el después de la historia. Podemos ver que no obtenemos el mismo abrigo de rama. Como te dije, sí creó un cometa nuevo, que es lo mismo que esa vieja rama kmete Si tenemos tres medicamentos en la otra rama, entonces podemos aquí tres nuevos abrigos Ahora en la siguiente lección, veremos qué haremos si tenemos conflicto durante la rebase 58. Resuelve conflictos mientras rebasa: Ahora veamos cómo podemos lidiar con los conflictos durante el rebasamiento No hay nada de especial en eso. Haremos el mismo proceso que resolvemos los conflictos antes. Pero hay dos, tres comandos útiles que necesitamos durante esto. Entonces antes que nada, hay que volver a crear una nueva sucursal. Digamos que literalmente me estoy quedando sin nombre aquí. Digamos FixBugot. Ahora hagamos algunos cambios en nuestro archivo STML de punto índice. Aquí, cambio el título de nuestro sitio web. En ese entonces solo escribimos Fix Auth bug. Decir los cambios y volver a nuestra terminal. Aquí hay un consejo rápido. Si no te gusta cambiar entre dos ventanas, entonces también puedes abrir terminal en el código VS. Simplemente presione Control más Batak o Comando más Batak. Me gusta usar itbash así que me cambio a eso. Primero, pongamos en escena nuestros cambios y también nos comprometamos con los cambios, Gate compromete a Fixburg en la autenticación Bueno. Ahora tenemos que comprometer cambios en la rama maestra y en la misma línea para crear conflicto. Entonces volvamos a cambiar a la rama maestra y pasar al código VS. Y en el archivo STL punto índice, también cambiamos el título, adherimos a más signo de exclamación Guarde este archivo. Degustemos el cambio y también comprometamos los cambios con mensaje. Cambiar el título del sitio web. Comprobemos nuestro historial. Ver, aquí obtenemos ramas divergentes. Ahora, simplemente rebasamos esta rama al último puntero maestro ¿Cuál es el primer paso de rebase? Cambiamos a la rama que queremos rebasar. Cambiamos a la sucursal FXBurgoth. Entonces, ¿qué vamos a hacer? Simplemente, escribimos kit rebase master. Ver aquí obtenemos el conflicto en el archivo HTML índice. Vamos a abrir código VS, y aquí podemos ver conflicto. Ahora aquí podemos seleccionar de estas tres opciones. Selecciono aquí la primera opción, excepto los cambios actuales. Guarde este archivo y vuelva a la terminal. Aquí podemos ver que estamos en el proceso de rebase. Ahora aquí sólo tenemos un conflicto. Si tenemos múltiples conflictos, entonces tenemos que resolverlos todos. Después de eso, simplemente escribimos git rebase, dash, continuamos para continuar con el proceso de rebase para el siguiente cometa rama Si el siguiente commit también tiene conflictos, entonces nuevamente los resolvemos y nuevamente ejecutamos este comando git rebase, dash continue Seguimos hasta que todos nuestros conflictos se resuelvan. Entonces si por alguna amida, queremos saltarnos los conflictos, entonces podemos usar aquí otra opción, dash dash kip. Esto se saltará el conflicto actual de nuestro medio. Por ejemplo, obtenemos conflicto y no queremos resolver ese conflicto, entonces usamos aquí Skip. Además, tenemos otra opción, que es dash About para sobre el proceso de rebase sin resolver los conflictos Esto es muy útil mientras tenemos tantos conflictos y no queremos resolverlos aquí. Entonces en esta situación, podemos sobre este proceso de rebase. Verás, estamos fuera de nuestro proceso de rebase. Ahora no estamos haciendo aquí rebase porque es el mismo proceso que vemos en la lección anterior Y otra razón es que tenemos rama divergente que necesitamos en la siguiente lección Entonces por eso abordo este proceso de rebase. Si quieres hacer rebase, entonces puedes hacerlo. Pero en la siguiente lección, hay que crear ramas divergentes Entonces, como puedes ver, rebase es literalmente reescribir la historia Entonces es por eso que usar el rebasing con proyectos locales. 59. Técnica de picador de cereza: Ahora aquí está nuestra historia de Cate. Supongamos que tenemos como en la rama WigberGoth, A one y A. Ahora aquí queremos copiar todo este Evan Camt y agregarlo a todo este Evan Camt y agregarlo nuestra rama maestra o alguna otra rama Se podría decir que podemos fusionar estas dos ramas, pero aquí está el problema. Nuestra sucursal Fixburgoth no está lista para fusionarse. Tenemos algo de trabajo que hacer en la rama Wigberg slash Oth. Ahora en ese momento, utilizaremos una técnica llamada clavija de cereza. Cuando queremos copiar un gameto completo de una rama a otra rama, entonces usaremos la técnica de recolección de cerezas Aquí en nuestro proyecto, podemos ver que tenemos nuestra sucursal maestra y tenemos sucursal FigBurgoth con Para demostrarlo más claramente, crearemos un gameto más en la rama de auth Actualmente estamos en la sucursal Wix per South. En el código VS en el archivo scrip dot js, simplemente agregamos otra línea de consola, escribimos cambios para el segundo commit para FixBugot Estos cambios no son materia porque no estamos trabajando en el proyecto real. Aquí, nuestro objetivo principal es aprender git, guardar los cambios y volver a nuestra terminal. Vamos a escenificar y comprometernos juntos. Gate AM corrige el error de Auth en el archivo JS de punto raspado. Ahora tal vez te preguntes por qué uso este comando juntos y por qué lo uso a veces por separado. El comando único se ejecutará sólo cuando tengamos actualizaciones. Si agregamos nuevo archivo, entonces primero, tenemos que escatimar ese archivo, y luego tenemos que comprometerlo. Bueno. Ahora volvamos a ver la historia. Ver en una rama, tenemos dos gametos y aquí tenemos un gameto en la rama maestra Ahora vamos a recoger a cereza este primer encuentro. Entonces este commit tiene lo que queremos copiar. Para mi, es e67 90d4, donde queremos agregar este commit, necesitamos esta copia de commit en nuestra En primer lugar, cambiamos a la rama maestra. Ahora lo escribimos cherry Pik aquí escribimos nuestro commit, que queremos copiar. Mira, aquí tenemos conflicto, y por eso te dije que no resolvieras el conflicto en la lección anterior, y también podemos ver que estamos en el proceso de recolección de cerezas. Cuando tenemos conflicto, simplemente vamos al código VS y resolvemos el conflicto. Aquí aceptamos cambios entrantes. Guarde este archivo y vuelva a la terminal. Aquí comprobamos nuestro estado actual. Ver aquí obtenemos camino fusionado. Entonces tenemos que escenificar nuestros cambios, Gate agregar periodo. Y ahora volvamos a verificar el estado. Ver camino sin fusionar se ha ido. Así que ahora podemos comprometernos, Gate, commit, y golpear Enter. Abrir vía código, y aquí escribimos mensaje de compromiso. Al final, solo escribo copia para que podamos identificarnos rápidamente. Veamos nuestra historia amet. Ver, aquí obtenemos el nuevo ejemplar kamet y aún así nuestra sucursal es la misma que antes Por lo que copiamos los cambios de este amet sin fusionar la rama Fibergoth en nuestra rama maestra Ahora, déjame decirte por qué le da a esta técnica el nombre de picking de cerezas. Así que el nombre de recolección de cerezas refleja la naturaleza selectiva de este proceso. Entonces, si ves cerezo en ese árbol, tenemos muchas cerezas Pero para comer la cereza dulce, tenemos que seleccionar cereza específica del árbol, y luego podemos disfrutar de la cereza. Mi boca se está llenando de agua. Ahora como estamos recogiendo cereza específica del cerezo en git, tenemos mitra y estamos recogiendo commit específico y aprovechando ese commit Igual que recogemos cereza. Por eso Git llamó esta técnica como técnica de recolección de cerezas. Espero que te guste esto. Nos vemos en la siguiente lección. 60. Agrega un archivo específico a otra rama: Ahora en la técnica de recolección de cerezas, recuerden, copiamos amet entero Pero, ¿y si solo queremos copiar un archivo específico del Kami Entonces aquí cómo podemos hacer eso. Entonces actualmente estamos en la rama master, y si miramos nuestro archivo script dot js, entonces aquí, obtenemos solo dos líneas de consola. Ahora si cambiamos a la rama FxBurgoth, y vemos, en nuestro archivo script dot js, obtenemos dos Ahora queremos copiar este script dot js del archivo FxBurgothBranch, y agregarlo en Volvemos a cambiar a la rama master porque queremos agregar el archivo en la rama master. Aquí escribimos Git, restauramos la fuente es igual a, y aquí escribimos nuestra marca de la que queremos copiar archivo, que es Vicksburg oth Ahora después de eso, escribimos nuestra ruta de archivo que queremos copiar. Escribimos Js script dot js. Asegúrese de escribir la ruta del archivo, no solo script dot js. De lo contrario, obtendrá error. Aquí también podemos separar nuestro nombre de archivo del comando usando doble guión. Eso ya lo vimos. Recuerda, aquí te estamos diciendo get copy script dot js file, última versión de la rama WigberGoth, y pegarlo en nuestra rama y pegarlo en nuestra Ahora bien, si revisamos nuestro archivo script dot js, aquí obtenemos dos líneas de consola que son las mismas de FixBurgoth Ahora podemos escenificar los barquillos y si quieres comprometerte, entonces también podemos comprometer nuestro código Así es como podemos copiar un archivo específico de una rama a otra sucursal. 61. Branch y merge en código VS: Ahora veamos la función de rama y fusión en nuestro código VS. Lo primero que quiero borrar es código VS no tiene todas las características, lo que hacemos usando comandos git. Entonces veamos qué tenemos en VSCode. Abra el control de código fuente. Aquí, obtenemos nuestros archivos de etapa y etapa. Eso ya lo vimos. Ahora aquí en la parte inferior, después viene, tenemos sección de ramas. Aquí, podemos ver todas nuestras sucursales. Contamos con master Fix BouGoT y contamos con carpeta de rama característica Ahora podrías preguntar, no creamos esta carpeta de características. Entonces, ¿quién creó esto? Déjame decirte que creamos esto porque usamos barra diagonal en el nombre de la rama, y para todas las ramas de características, usamos barra diagonal de características el nombre de la rama Por eso llegamos aquí carpeta de características. Si tenemos más de una sucursal con Fix Berg, entonces también obtenemos aquí la carpeta Fix Berg. Ahora aquí podemos ver actualmente estamos en la rama maestra porque tenemos aquí Tick Mark. También, podemos cambiar de sucursal desde aquí. Además, podemos crear una nueva sucursal a partir de aquí. También tenemos ver rama como lista, y pocas opciones más. Ahora, si damos click en alguna sucursal, aquí llegamos a comparar opción. Seleccione el, y aquí escribimos nuestra marca que queremos comparar. Digamos Pisburgot. Ver ahora esta opción convertida en desplegable. Podemos ver aquí los expedientes que se modifican o efectúan. Actualmente, no tenemos ningún archivo aquí, pero si tenemos archivos, entonces haciendo clic sobre ellos, podemos ver los cambios. Ahora déjame mostrarte cómo podemos realizar la fusión. Haga clic derecho en la rama Fix Burg Oth y seleccione fusionar en rama actual. Aquí, obtenemos muchas opciones de fusión. Primero, tenemos merge, que es el comando simple merge como git merge y branch name. Después de eso, tenemos fusión de avance rápido. Aquí podemos ver que solo tenemos avance rápido. Por eso, le estamos diciendo a la marcha, solo use la fusión de avance rápido si es posible De lo contrario, déjelo como está sin fusionarse. A continuación, tenemos squash merge, entonces no tenemos fusión de avance rápido, y por fin tenemos sin avance rápido y sin commit, o también podemos cancelar o sobre demerge Simplemente seleccionemos la combinación predeterminada, y cerramos este archivo de mensajes de confirmación y vemos la fusión realizada. Ahora bien, si vemos nuestras amidas, entonces llegamos aquí merge commit. Ahora bien, si escribimos fuga en Camt anterior entonces llegamos aquí opción de revertir Aquí seleccionamos simple revertir y vemos aquí obtenemos el giro de revertir Ahora también podemos restablecer nuestro Camt Aquí obtenemos un par de opciones, soft, hard o mix Por ahora, cancelemos esto. Como podemos ver este control fuente es muy confuso para las sucursales. Apenas uso este control fuente para sucursales. Para las sucursales, hemos instalado la extensión Git Lens, que es la gran herramienta. Aquí, da clic en el icono de Git Lens. Aquí al principio, obtenemos el ícono de la gráfica Commit. Da click en eso y mira, aquí tenemos Gráfica de Commit. Ahora para ver esto más claramente, cierro esta extensión de lente Git, y además cierro todos estos archivos desde la parte superior y hago clic en esta opción de abrir en el área Editor. Cerremos la ventana de la terminal. Ver esta gráfica se ve más clara. Ver, al inicio de este proyecto, tenemos historia lineal. Luego creamos los comentarios de las características de nuestra sucursal, y luego los fusionamos en la rama maestra. Después de eso, creamos otra rama y nuevamente, las fusionamos en master. Ahora en la parte superior, podemos ver aquí tenemos sucursal. Ahora, si hacemos clic en alguna sucursal, tenemos un par de opciones. Primero, hemos cambiado a otra rama, reiniciamos cambios, renombramos la rama, creamos rama , creamos etiqueta, etcétera Ahora vamos a crear una nueva sucursal aquí. Ingresa el nombre de la sucursal. Digamos que Vicksburg recorta el registro. Pulsa Enter, y aquí tenemos tres opciones. Crea una rama, crea y cambia, y cancela. Entonces seleccionamos Crear y cambiar. Ahora vamos a abrir un archivo, presionar Control más P o Comando más P, y openscrip punto Aquí, hacemos algunos cambios. Guarde este archivo y cometamos estos cambios. Así que ve a Source Control. Y aquí escribimos nuestro mensaje de compromiso. Digamos, trabajar en el registro para Fix Berg y hecho. Ahora, volvamos a la gráfica Commit. Mira aquí podemos ver nuestra sucursal activa actual es FixburgLargistration, y también obtuvimos Ahora bien, si hacemos clic derecho sobre la rama maestra, entonces obtenemos aquí más opciones, cambiamos a la rama, fusionamos con la rama actual, rebasamos, renombramos, y mucho más Ver, aquí obtenemos las mismas opciones que tenemos en el control de fuente. En la siguiente lección, veremos cómo podemos ver sucursales y fusionarnos en Github DesktraFaciation 62. Branch y Merge en Github para escritorio: Como sabemos, para las interfaces gráficas de usuario, tenemos dos aplicaciones. El primero es Github desktop y el segundo es Kraken. Si estás seguro de que quieres usarlo Kraken, entonces puedes saltarte esta lección y pasar directamente a la lección de Git Kraken Aquí está la interfaz de la aplicación de escritorio Github. Ahora para sucursales, tenemos aquí lista de sucursales. Ver, aquí podemos ver nuestra sucursal actual. Ahora para cambiar las sucursales, tenemos que simplemente dar clic en esa sucursal. Verás, nuestras sucursales cambiaron. Aquí en la parte superior, tenemos opción de crear nueva sucursal, lo cual es muy sencillo. Ahora aquí en la parte inferior, tenemos opción para rama selector se fusione en rama maestra Seleccionemos eso y aquí, tenemos que seleccionar la rama que queremos fusionar. Digamos FixBurgrGISTRation, que creamos Haga clic en FixBurgrgistration. Seleccionemos Camt de fusión de tarifas. Si tenemos conflicto, entonces podemos resolverlo desde el código VS y luego continuar la fusión. Aquí obtenemos el mensaje de fusión exitosa, y si verificamos nuestro historial de commits, entonces puedes ver merge commit. Ahora, si queremos acceder a más opciones de sucursal, entonces tenemos este menú de sucursal. Aquí, podemos crear nueva rama, renombrar, eliminar, comparar, fusionar en rama actual, squash merge, rebase, etcétera Ahora déjame mostrarte comparación. Entonces como comparado con rama, y aquí tenemos opciones para comparar. Pero como puedes ver aquí, no podemos ver correctamente el historial de commit con ramas. Por eso a muchos desarrolladores no les gusta Gitub desktop. Si te gusta el escritorio Gitub, entonces puedes usar el historial de Commit del código VS para ver las commits y la rama y luego usar Merge Tool en la aplicación de escritorio Github Esta es mejor opción. En definitiva, la elección es suya. 63. Ramificación y fusión en GitKraken: Ahora, vamos a abrir la aplicación Git Kraken. La historia penal sigue siendo mi corazón. Mira lo hermosa que se ve. Podemos ver claramente las ramas y el historial de confirmaciones mucho mejor que usar el código VS o la aplicación de escritorio Github. Ver, aquí tenemos gráfica clara para sucursales, que podemos entender fácilmente. En la parte superior, podemos ver lista de sucursales. Y si seleccionamos alguna sucursal, entonces podemos cambiar a esa rama. Muy sencillo. Déjame mostrarte cómo podemos crear una nueva sucursal. Haga clic derecho sobre la sucursal y aquí tenemos un montón de opciones. Seleccionemos Crear una nueva sucursal. Aquí, le damos nombre de sucursal. Digamos barra de características Cerrar sesión. Aquí podemos ver que obtenemos Auto switch a esa sucursal. Ahora hagamos algunas amas en esta rama. Volver al código VS openscrip dot sple y simple al fin, nosotros en la consola dot log, implementamos la función de cierre de sesión Los cambios y vamos a comprometer estos cambios. Dar el mensaje de confirmación. Digamos implementar la función Cerrar sesión y comprometerla. Consejo rápido aquí, si queremos ver la rama activa actual, entonces podemos ver desde aquí en el código VS. También desde aquí, podemos cambiar a la otra rama. Volver a la rama Master, y aquí también const dot log y agregamos actualizaciones en el archivo script dot js También vamos a comprometernos con message, update script gs file. Sepa, este no es un buen mensaje de confirmación, pero esto es solo para demo. Ahora volvemos a ello Kraken y ya podemos ver como rama consigue divergir Lovely Ahora antes de hacer merge, veamos cómo podemos comparar dos ramas. Seleccione la sucursal de cierre de sesión y manténgala segura. Y seleccionar la otra rama que es master. Ver en el lado derecho, tenemos diferencia de dos ramas, y debajo de eso, tenemos lista de archivos que se ven afectados. Si seleccionamos el archivo, entonces conseguimos que el archivo se abra con los cambios. Intencionalmente cambio aquí la misma línea, así que tenemos conflicto en la línea tres y vamos a fusionarnos. Seleccione rama maestra y pata derecha en la rama de cierre de sesión que queremos fusionar Aquí tenemos fusión, y también tenemos rebase Seleccionemos Fusionar. Mira, aquí tenemos conflicto, y aquí obtenemos todos los archivos conflictivos Seleccionamos script dot archivo JS, y aquí obtenemos esta hermosa herramienta de fusión. Aquí en el lado izquierdo, tenemos cambios desde el maestro, y lado derecho, tenemos cambios de rama Logout, y en la parte inferior, tenemos salida final Aquí, podemos seleccionar las ramas seleccionando la casilla de verificación, y también podemos seleccionar las dos. También podemos eliminar de aquí, y si tenemos más de un conflicto, entonces podemos verlos desde aquí flecha arriba y abajo. Ahora, cuando satisfacemos con nuestros conflictos, entonces simplemente guardamos los cambios de aquí. Ahora en el lado derecho, tenemos lista de archivos de etapa. También tenemos listo el mensaje de compromiso. Ahora llegamos aquí dos opciones, Comte y merge, y a punto de fusionarse Vamos por Commit y fusionarnos. Ver aquí en la parte superior, obtenemos T merge Comte Muy sencillo y fácil. Ahora imagina que obtenemos error en nuestro código de esta fusión. También podemos revertir o rebasar nuestro Commit. Haga clic derecho en la opción Commit y seleccione Revert Commit Pediremos confirmación para kat inmediato. Seleccionamos sí, C, aquí conseguimos revertir Kumt Ahora bien, si quieres restablecer la amida a esta en medio antes de que hagamos la fusión, entonces podemos escribir click aquí y seleccionar reset. Aquí, obtenemos tres opciones, suave, mixta y dura. Ya vimos ese derecho. Ahora aquí hay una cosa. Imagina que no aprendes los comandos git antes usar Git Kraken o cualquier interfaz gráfica de usuario, entonces definitivamente pasarás al estado confuso Por eso decido enseñarte primero comandos Git y luego interfaces gráficas de usuario como Git up desktop y Git cracon Aquí vamos por el restablecimiento completo y nuestros comandos merge y revert se han ido Así podemos trabajar con ramas y fusionarnos en el Git Kraken Sé que esta sección es poco más larga, pero todas estas son lecciones de fusión muy importantes. Entonces hiciste un gran trabajo. Date un pequeño capricho, escucha algo de música, juega algunos juegos, o da un nuevo paseo. Continuaremos nuestro recorrido de dominio de kits en la siguiente sección Entonces nos vemos en la siguiente sección. 64. Sección 05 Trabaja con un equipo: Bienvenido a la quinta sección del curso Ultimate Kit. En esta sección, veremos cómo podemos trabajar en equipo usando Git. Actualmente nuestro repositorio en nuestro entorno local, pero en el mundo real, tenemos que trabajar en repositorio en Cloud. Entonces podría preguntarse, ¿cómo podemos trabajar con otros miembros del equipo en una empresa? Aprendimos cómo podemos obtener cambios de otros miembros del equipo, publicar nuestros cambios, solicitudes de extracción, problemas y mucho más cosas Sé que estás emocionado por esta sección, y yo también estoy emocionado por eso. Entonces, sin perder el tiempo, entendamos cómo trabajamos en equipo en un solo proyecto usando Git. 65. Descripción general del trabajo en equipo: Entonces como te dije, hasta ahora solo estamos trabajando localmente. Pero en el mundo real, no trabajamos solos. Hay muchos desarrolladores trabajando en un solo proyecto, y es por eso que veremos la vista lateral de pájaro de cómo los desarrolladores trabajan juntos en el mismo proyecto usándolo. Entonces déjame hacerte una pregunta sencilla. Aquí está nuestro repositorio. ¿Cómo crees que otros miembros del equipo pueden trabajar con este repositorio? Una solución es que alojamos este repositorio en algún lugar del servidor y todos los desarrolladores trabajan en el repositorio único. A esto se le llama como sistema centralizado de control de personas. Ahora bien, ¿y si este servidor en el que teníamos nuestro repositorio se desconectaba o va en el mantenimiento? Entonces todos los desarrolladores tienen que sentarse y esperar a que el servidor salga del mantenimiento. Este enfoque no está funcionando correctamente. Ahora, otra solución es para cada desarrollador, les damos repositorio en su propia PC o laptop. No dependen de ningún servidor. Pueden trabajar en cualquier momento en su repositorio. Esto se denomina como Vers distribuidos y sistema de control, y Git es el ejemplo de este sistema distribuido Vs y control. Ahora podrías preguntar si todos los desarrolladores trabajan en su propio sistema, entonces, ¿cómo pueden colaborar con los miembros del equipo? Para trabajar en equipo, adherimos un repositorio centralizado entre todos los desarrolladores. Todos los desarrolladores tienen su propio repositorio, pero también tenemos un repositorio central que utilizan para la colaboración. Déjame explicarte esto con ejemplo del mundo real. Supongamos que este eres tú y este soy yo. Aquí estamos trabajando en un mismo proyecto, que es, digamos, aplicación de comercio electrónico. Ahora primero, clonaremos nuestro proyecto existente para los dos en nuestro sistema personal. Ahora suponga que trabaja en su tarea, hace algunas cámaras, y cuando esté listo, empuja estos cambios en este repositorio. Ahora tenemos actualizaciones en el repositorio, así que me avisan con eso. Abro este repositorio y tire de los cambios en mi sistema. Ahora mi código y el código de este repositorio se vuelven iguales. Pero imagina que llego aquí conflicto. Resuelvo el conflicto aquí en mi máquina y luego empujo mi código a este repositorio. Ahora, otros desarrolladores y tú puedes sacar este código actualizado y seguir trabajando en este proyecto. Esto se llama un flujo de trabajo centralizado y obviamente obtener seguir este flujo de trabajo centralizado. No te confundas. El flujo de trabajo centralizado y el sistema de vers y control centralizado no es lo mismo. Son cosas distintas, solo el nombre son similares. Consigue seguir este trabajo centralizado Ahora, alguna compañía usa su propio servidor privado para alojar este repositorio en su empresa, pero mantener un servidor propio es poco costoso para las nuevas empresas. Entonces, a las nuevas empresas les gusta usar algún servidor basado en la nube que pueda alojar su repositorio de forma privada. Esta es una opción barata y buena para nuevas empresas y startups. Son muchas las empresas que brindan este tipo de servicios en la nube para el repositorio de hosting, y adivina la correcta. Github es una de las plataformas de alojamiento de repositorios. También tenemos Gitlab, Bitbucket, GIT y muchos Pero todos sabemos que Github es una de las plataformas más populares, por lo que usaremos Github. Estás utilizando cualquier otra plataforma de hosting, aún así, puedes continuar este curso porque estamos hablando de trabajar en equipo. Realmente no importa qué plataforma de hosting uses. Hagas lo que hagas en Github, creo que todos los conceptos básicos lo puedes hacer en otra plataforma de hosting de repositorios. Ahora bien, ¿y si estás trabajando solo? En esta situación, también, puedes usar Gitub para almacenar nuestro código como respaldo Incluso del 20 al 40% de los desarrolladores utilizan Gitub para almacenar su línea y administrar su currículum En el futuro, no pierden su código. También estará disponible en su cuenta de Github. Es beneficioso para ti aprender esto. Ahora a partir de la siguiente lección, veremos este flujo de trabajo en proceso. Estoy muy entusiasmado con ello. 66. Cómo subir un proyecto a github: Ahora antes de comenzar a crear un nuevo repositorio, muchos estudiantes me preguntan, ¿cómo puedo subir nuestro Proyecto Git existente en Github? Déjame mostrarte cómo podemos subir proyectos locales en Github. Primero, veremos subiendo proyecto usando Github Dektop y después de eso, te mostraré para Entonces primero, abro Github Dektop aquí, primero, revisamos nuestro repositorio abierto o Si no está disponible en esta lista, entonces vamos al archivo en el repositorio Local y simplemente navega a esa carpeta y abrimos nuestro proyecto aquí. Ahora, si no tenemos ningún cambio, entonces llegamos aquí directamente publicar la opción de repositorio. De lo contrario, tenemos también esa opción aquí después de la opción de sucursal. Aquí podemos ver este repositorio solo disponible en su máquina local. Al publicarlo en GitHub, puedes compartirlo y colaborar con otros. Así que da click en este botón de repositorio público. Obtendremos este pop up que pide nombre del repositorio. Le doy pista de Tas para Git. Si quieres escribir una descripción, entonces puedes escribirla aquí. A partir de aquí, podemos hacer que nuestro repositorio sea privado o público. Si hacemos que nuestro repositorio sea república, entonces cualquiera en Internet puede ver nuestro código. Una cosa es, si quieres colaborar con otros, entonces tenemos que hacer público nuestro repositorio. Si lo hacemos privado, entonces tenemos que pagar el repositorio privado para la colaboración. Si solo quieres almacenar código, entonces podemos usar repositorio privado. Estoy desmarcando esta casilla para repositorio público y simplemente haga clic en publicado Véalo publicar. Si quieres verificar, entonces podemos revisar nuestro repositorio en Github usando este botón. Así de sencillo es. Ahora déjame mostrarte cómo podemos hacer lo mismo usando la aplicación Git Kraken Abra la aplicación Git Kraken y seleccione nuestro repositorio que desea publicar Ahora, antes de publicar el repositorio, necesitamos conectar nuestra cuenta Github con la aplicación Get Kraken Así que haz clic en este botón de configuración desde aquí y ve a la pestaña de integración. Aquí tenemos par de servicios de hosting por defecto es sec Github y mira aquí no nos conectamos. Conectémonos a Github. Te pedirá que inicies sesión con tu cuenta de Github. Yo inicio sesión con mi cuenta. Nos pedirá inicio de sesión o autorización. Autorizo y aquí escribo mi contraseña y simplemente la abro Crack y aplicación. Consulta aquí obtenemos nuestra cuenta. Ahora vamos a cerrar estos ajustes. No lo necesitamos. Ahora para publicar un repositorio, necesitamos primero agregar remoto, clic en este ícono de Cloud que es para remoto y aquí podemos ver que tenemos cero remoto. Para que podamos crear nuevos. Aquí, podemos ver que tenemos Github seleccionado, y pide nombre de repositorio, nombre remoto, que vemos en esta lista remota, descripción del repositorio, y también podemos hacerlo público o privado. No te preocupes, simplemente haz clic en Crear control remoto y presionar el botón Revs locales Y luego recibimos mensaje de éxito. También podemos verlo en github.com. Esto parece un poco complicado porque empujamos a todos nuestros Camts de una sola vez Pero en el mundo real, primero creamos nuestro repositorio y luego trabajamos en él. Así que no te preocupes por eso. Ahora en la siguiente lección, crearemos un nuevo repositorio fresco usando sitio web de Github y aprenderemos los conceptos de sección en su repositorio. Para que no te confundas con este proyecto maestro. 67. Cómo crear un nuevo proyecto en github: Así que abre github.com, y si no tienes cuenta de Gitub, entonces puedes crear fácilmente una nueva cuenta entonces puedes crear fácilmente Es realmente simple y fácil. Además, asegúrate de verificar tu cuenta de correo electrónico antes de crear un nuevo repositorio. Ya inicié sesión con mi cuenta aquí. Ahora para crear un nuevo repositorio, haga clic en este icono más. Aquí tenemos Nuevo repositorio, y también podemos importar repositorio desde otro lugar. Vamos por un nuevo repositorio. Aquí primero ingresamos nuestro nombre de repositorio, que queremos dar. Digamos, CardWishGT porque tengo repositorio Cardwisname Ahora aquí, podemos escribir una descripción de este repositorio. A continuación, tenemos opción pública o privada. Como te dije antes, si seleccionamos privado, entonces tenemos que pagar por trabajar en equipo. Entonces seleccionamos aquí público. Ahora aquí tenemos un par de opciones. Puede agregar el archivo ad me en el que podemos escribir una descripción larga para nuestro proyecto o página web, y también podemos seleccionar el archivo Getting nor. Aquí tenemos lista de idiomas. Por ahora, no lo queremos, y damos click en Crear Repositorio. Y luego creamos un nuevo repositorio. Aquí en la parte superior, podemos ver nuestro nombre de usuario y slash nuestro nombre de repositorio Si alguien te pide que veas tu código, entonces puedes darle esta URL de Github. Pero para eso, necesitas repositorio público. De lo contrario, la gente no lo verá. Ahora aquí tenemos nuestra lista de sucursales. Actualmente, tenemos sólo una sucursal, que es principal. Esta principal es igual que nuestra rama maestra. Github llamó rama maestra como principal. Después de eso, tenemos número de sucursal y también obtenemos número de etiquetas. Aquí podemos buscar un archivo específico. Además, podemos crear un nuevo archivo y también podemos subir archivos. Ahora en esta caja cuadrada, podemos ver nuestro proyecto. Aquí podemos ver nuestro último Commit. Ahora podrías preguntar, no cometimos nada. Esta es la confirmación que Github crea para crear un nuevo repositorio. Aquí, podemos ver Commit tiene tiempo cuando se compromete y todos los commits. Vamos a comprobar esto. Aquí obtenemos la lista de commits. Podemos filtrarlo por usuario desde aquí y también podemos filtrarlo por tiempo. Ahora desde aquí, podemos ver commits por ramas, y si queremos ver más detalles sobre commit, entonces podemos dar click sobre esto. Aquí, obtenemos la sucursal que es principal. Obtenemos el nombre de usuario y también obtenemos tiempo. Después de eso, podemos ver archivo cambiado con dos adiciones y cero eliminación y podemos ver que líneas aquí. Bueno. Volver a nuestra página de códigos. Aquí obtenemos la lista de archivos de proyecto y en el lado derecho, también obtenemos el mensaje de confirmación. En qué comando se agrega o cambia este archivo. También podemos ver el contenido del archivo desde aquí. Hay una pequeña introducción sobre el repositorio Github. Ahora en la siguiente lección, veremos cómo podemos agregar miembros del equipo en este repositorio. 68. Agregar miembros del equipo al proyecto: Ahora actualmente nuestro repositorio es público, pero aún así nadie puede empujar commits en nuestro repositorio. Se podría decir que ya hacemos público nuestro repositorio y aún así nadie puede empujar commits. ¿Por qué? Repositorio público significa que todos pueden ver nuestro repositorio, pero necesitamos agregar a los miembros de nuestro equipo como colaboradores en este repositorio. Aquí vamos a la opción de configuración. En la sección de acceso, obtenemos la pestaña de colaboradores. Aquí podemos ver que tenemos cero contribuyentes. Agreguemos un miembro del equipo a este proyecto. Aquí agregamos un miembro, y podemos buscar miembros del equipo cuenta usando nombre de usuario o nombre completo o cuenta de correo electrónico. Escribo mi segunda cuenta. Esta es mi nueva cuenta que creé para este curso. Si no acepto tu invitación, entonces lo siento por eso porque probablemente no accedo a esta cuenta en el futuro. Si no tienes otra cuenta, entonces puedes crear una segunda cuenta para esta sección, o puedes invitar a tus amigos que también quieran aprender Git. De esta manera, es mejor que entiendas estas lecciones. Ve como ese usuario y haz clic en agregar a este repositorio. Aquí, tenemos un colaborador, pero como podemos ver, tenemos invitación pendiente Cuando agregas a alguien a tu repositorio, Git le envía solicitudes de colaboración en su correo electrónico. Si la persona acepta la invitación, entonces enhorabuena. Tienes colaborador. Pero esa persona también tiene opción de rechazar. Así es como podemos agregar miembros del equipo o colaboradores en nuestro repositorio. 69. Clona el repositorio de Git en nuestra máquina: Entonces, como sabemos, creamos un nuevo repositorio desde nuestra cuenta de Github. Pero, ¿cómo podemos empezar a trabajar en ese repositorio? Porque no tenemos este repositorio en nuestra máquina. Veamos cómo podemos agregar o clonar repositorio desde Github a nuestra máquina. Ir a la opción de código, y aquí obtenemos el enlace de nuestro repositorio en Github. Copia esto y abre la carpeta en la que quieres clonar este repositorio. Entonces estoy en mi carpeta de proyectos, abra Gitwsh o terminal en esta Aquí solo escribimos Gate, clonamos, y pegamos nuestra URL. Si estás usando Windows, entonces Control plus V no funcionará. Entonces haga clic derecho aquí y vea, tenemos opción de página y también tenemos acceso directo para eso. Ahora si ejecutamos este comando, entonces gate clona este repositorio con nombre de repositorio como nombre de carpeta. Además, si quieres cambiarlo, entonces también podemos hacerlo. Digamos que solo quiero cartwish y golpear Enter. C, consigue clonar este repositorio. Entonces ahora tenemos todos los cometas, todas las ramas, literalmente todos los detalles sobre el repositorio tet Vamos dentro de esta carpeta cartws. Así que cambia directorio a cartwis. Ahora veamos los abrigos, así que git log, dash dash p line, dash dash all, dash graph. Ahora aquí obtenemos comando único, que es comando inicial. Aquí, podemos ver que nuestro puntero de cabeza está en este comando, pero tenemos dos punteros más aquí, origen principal y cabeza de origen ¿Quién creó esto y por qué? Entonces como sabemos, headpointer se usa para saber en qué commit estamos, y main es nuestra rama predeterminada Ahora cuando clonamos nuestro proyecto desde GitHub, Git crea una rama remota y la nombra como origen. Esta no es rama original. Esto es solo sucursal remota. Si tratamos de cambiar a la sucursal, entonces esto no va a funcionar. También podemos comprobarlo usando git branch. Mira aquí solo tenemos una sucursal que es principal. Ahora, déjame mostrarte algo útil. Si escribimos puerta remota, entonces aquí obtenemos nuestro repositorio remoto que es origen. Podría preguntarse, ¿qué es el repositorio remoto? Un repositorio remoto es el proyecto o repositorio que está alojado en el servidor como Github o beat Bucket. En palabras simples, repositorio remoto es, que no está en nuestra máquina local. Nuestro repositorio actual no solo está en nuestra máquina local, se almacena en ubicación remota como en Github. Este repositorio remoto, que se llama como origen, se utiliza para proporcionar información sobre nuestro proyecto Github. Al igual que en qué sucursal trabajan actualmente los desarrolladores y más. Ahora, por esa razón, Git crea dos punteros más Origins main o master y origins head Déjame explicarte eso con el ejemplo. Supongamos que tú y yo trabajamos en el mismo proyecto y ambos clonamos nuestro proyecto desde Github. Ahora cuando clonamos nuestro proyecto desde GitHub, entonces Git creamos estos dos punteros orígenes main y origin head Ahora supongamos que trabajo en una característica y empujo la Cam en nuestro repositorio. Obtener mover este puntero principal de origen a esta tarde se reunió en la rama principal. Entonces, esencialmente, origin main nos dirá dónde ocurren los últimos cambios en nuestro repositorio Github. Entonces, si alguien más hace otro cometa, entonces el puntero principal de origen se mueve a ese cometa Se podría decir, entiende acerca de los orígenes principales, que representan los últimos cambios en nuestro repositorio. Pero por qué esta cabeza de corte de origen también se mueve con este origen s principal Honestamente, no se mueve. Está en la misma rama. Origin s head se utiliza para decirnos cuál es la última sucursal es checkout o en palabras simples, que es la última vista de sucursal o trabajo de cualquier miembro del equipo. Supongamos que aquí tenemos esta característica productos página rama. Si eres yo o algún desarrollador cambia a alguna de la otra sucursal, entonces esta cabeza de origen apuntará a esa sucursal. Entonces así es como funciona este puntero. Entonces, para resumir, solo se usa el puntero de cabeza para decirnos en qué commit estamos trabajando actualmente Origin Min o Origins Master nos dicen dónde ocurren los últimos cambios en nuestro repositorio Github. Por esto, podemos conocer los últimos cambios en nuestro repositorio Github. Origins HAD nos dice, cuál es la última vista de sucursal o trabajo de cualquier miembro del equipo. No te preocupes por esto. Todos ustedes las dudas se sienten claras cuando ven todo esto en acción. 70. Obtén los cambios: Entonces como sabemos, este es nuestro repositorio Gitub, y este es nuestro repositorio local, que clonamos desde el github Ahora bien, estos dos repositorios no están conectados entre sí. Entonces, cuando alguien pone los cambios en este repositorio de gitub, entonces no obtenemos esos commits automáticamente Necesitamos ejecutar el comando Git fadge para obtener los nuevos commits en nuestro repositorio local Aquí tenemos que prestar atención. Actualmente, en nuestro repositorio local, estamos trabajando en el cometa C one Nuestro principal, o podemos decir maestro puntero sigue en este cometa. Pero como les dije en la lección anterior, nuestro puntero principal de origen avanzará porque representa los últimos cambios en el repositorio remoto. Al usar el comando Git patch, obtenemos decommit, pero nuestro puntero maestro o principal todavía está en nuestro C one commit Entonces nos descomprometemos en nuestra historia, pero nuestro directorio de trabajo aún no se ve afectado, y por eso, no obtenemos ningún conflicto Ahora bien, si te sientes cómodo para aplicar esos cambios en tu directorio de trabajo, entonces podemos ejecutar git merge, y este nombre de puntero, que es origin Min. Entonces aquí no tenemos ninguna rama diversa. Qué tipo de fusión realiza Git. Absolutamente correcto. Git realizar pase para o fusionar. Y si conseguimos algún conflicto, entonces los resolvemos como estamos resolviendo previamente y luego hecho. Digamos que este parche de Git prácticamente. Entonces en este navegador, me conecto con mi otra cuenta de Github. Y en esta máquina, tengo mi cuenta original, que es que Dios los bendiga. Aquí sólo tenemos mi archivo. Entonces vamos a cambiar en este archivo y simplemente comprometerlo. Da click en este archivo, y desde aquí, podemos editar este archivo y cambiar este texto. Esto es para el segundo commit y simplemente comprometa los cambios. Aquí, podemos escribir el mensaje de compromiso. Lo dejo como está. Aquí, asegúrate de seleccionar Commit to main branch. También podemos crear una nueva rama a partir de aquí con este commit. Pero veremos esta opción en la próxima lección. Simplemente haga clic en Commit. Ahora volvamos a nuestra ventana de código, mira, aquí tenemos dos cometas. Ahora si vemos en nuestro repositorio local, entonces aquí solo conseguimos uno conocido. Ahora veamos cómo podemos recuperar repositorio de nuestro repositorio remoto Escribimos git fetch, y luego escribimos nuestro nombre remoto que es origen No escribimos nada, entonces por defecto, Git toma origen. Verás, es parchear. Ahora vamos a revisar nuestro historial. ver, llegamos a los cometas, y también podemos ver origen principal y cabeza de origen se mueve a este cometa, pero nuestra cabeza sigue aquí Ahora, veamos cómo podemos agregar estos cambios en nuestro directorio de trabajo. Sugiero que escribamos git merge, y escribimos nuestro nombre de puntero, orígenes principales. Y lo hicimos. Mira aquí nos ponemos rápidos para nuestra fusión y también podemos ver en nuestro historial headpointer se mueve a nuestro segundo comando y también abrimos archivo IDM en código VS, luego obtenemos el archivo RDM actualizado 71. Haz los cambios: En la lección anterior, vemos para obtener los últimos cambios del repositorio remoto, necesitamos usarlo comando patch y luego para agregar cambios en nuestro directorio de trabajo, necesitamos fusionarlo. Como podemos ver, este es un enfoque de dos pasos. Podemos hacer esto en un solo paso también, y ¿sabes por qué comando es tirar? Supongamos que tenemos estos amds en repositorio local y repositorio remoto Aquí nos comprometemos en nuestro repositorio local y aquí otro miembro del equipo también agregamos amid al repositorio remoto. Ahora bien, si hacemos comando git pool, entonces Git agrega este commit sit en nuestro repositorio local y origen Min Pointer muévase a esto en medio. Ahora git fusiona estos dos cambios y haz un nuevo abrigo. Ahora a muchos desarrolladores no les gusta este enfoque porque podemos ver que está creando nuevos kamit merge y además obtenemos comandos diverge La otra solución, en lugar de hacer merge, también podemos realizar rebasing Así podemos ejecutar git, pull, rebase command, y eso rebasará nuestro comité a este origin slash main commit, y así es como obtenemos un historial lineal y claro Ahora bien, ¿cuál es la mejor opción para pull Merge o rebase? Honestamente, esto realmente depende de nuestra situación. Lo más probable es que tu manager te diga que uses merge o rebase, no te preocupes por eso Personalmente me gusta usar rebase en lugar de usar merge porque nuestro historial de commits se mantendrá limpio. Entonces veamos esto en nuestro repositorio. Entonces, para la solicitud de extracción, primero necesitamos confirmar algunos cambios en nuestro repositorio local, así como en el repositorio remoto. Entonces abro nuestro repositorio local en el código VS y creo un nuevo archivo, digamos, scrap dot js, justo aquí, consola dot log. Este es archivo raspado. Guarde los cambios, y vamos a comprometerlos. Volver a Git Bash it Ed period, c staging y Gitatm createscript c staging y Gitatm createscript dot Jsfile para JavaScript. Ahora vamos a revisar nuestro historial. Ver, aquí obtenemos tres Camits y nuestra cabeza se mueve a nuestro último amit y origen principal y la cabeza de origen sigue en este Ahora hagamos Cait en nuestro repositorio remoto. Dirígete a la segunda cuenta. Y aquí creo un nuevo archivo a partir de aquí, y aquí escribimos nuestro nombre de archivo. Digamos que los planes puntean TxD. Físicamente, escribiré planos en este expediente. Entonces paso número uno, crear un diseño de sitio web básico para este proyecto. Ahora, vamos a comprometernos esto, así que comprometa los cambios. Dejo este mensaje de compromiso tal como está, y voy por Commit. Hecho. Ver, aquí tenemos tres commits. Ahora volvamos a nuestro Git Bash. Aquí ejecutamos el comando git pull, así esto agregará nuestro repositorio remoto commit en nuestro proyecto y luego lo fusionará. Se pedirá mensaje de compromiso. No quiero cambiarlo, así que cierra esto. Ver, la fusión está completa. Comprobemos nuestro historial. Mira, aquí conseguimos el commit de fusión, y también conseguimos los abrigos de buzos Ahora déjame mostrarte cómo podemos rebasar con pull. Antes de eso, deshagamos esta commit de fusión. Entonces git reset, d dash duro, y queremos ir un paso antes de cabeza. Así que dirígete a la una. Consulta nuestro historial. Verás, reiniciamos nuestra fusión, y obtenemos esta sucursal separada. Así que vamos a ejecutar git pull, rebase. Básicamente, le estamos diciendo a Git que rebase nuestro commit actual con el puntero principal de origen y vea que obtenemos el mensaje de éxito Comprobemos nuestra historia una vez más. Ver, obtenemos historia lineal, y este origen principal es mover aquí. Ahora en la siguiente lección, veremos otro comando muy útil, que es el comando push. 72. Lleva cambios al repositorio remoto: Ahora, actualmente, en nuestro repositorio local, tenemos cuatro cometas, pero en nuestro repositorio remoto, solo tenemos tres kamets No tenemos este en. Si queremos agregar esta kamide al repositorio remoto, entonces tenemos que usar el comando push de Git Ahora, como sabemos, este principal pasará a nuestro último kamid también en nuestro repositorio, origen principal también se moverá a este cometa Nosotros lo escribimos push. Aquí, tenemos que escribir nuestro nombre de repositorio remoto que es origen. Después de eso, abrigo que queremos empujar, que es principal. Actualmente, también estamos en main, así que podemos eliminar este main también podemos eliminar origin porque ese es repositorio remoto predeterminado. Ahora a veces puede pedirte tu nombre de usuario y contraseña de Github antes de empujar el código. Hay que escribirlo cuando se lo pida y ya terminamos. Comprobemos nuestro historial. Consulta aquí nuestro origen Min se traslada a nuestro mando principal. Si queremos verificar, entonces podemos consultar nuestra página de GitHub. Mira aquí sacamos cuatro amets y si lo comprobamos aquí, entonces conseguimos a los Camets Empujamos con éxito nuestro código a nuestro repositorio remoto. Ahora déjame mostrarte otra situación. Supongamos que aquí tenemos tres gametos y en repositorio remoto, tenemos sólo dos ametos Ahora antes de empujar este camete al control remoto, nuestro miembro del equipo empuja otro kamit aquí, si empujamos nuestro código, entonces nuestro comando push fallará Me puedes decir por qué? Derecha. En esta situación, nuestro historial de repositorios locales y el historial de repositorios remotos son diferentes. Si Git todavía nos permite empujar, entonces podemos perder este compromiso de miembro del equipo. Y por eso Git falla nuestro comando push. Ahora a veces muchos desarrolladores usan Git push F para empujar con fuerza nuestro código Entonces cuando ejecutamos este comando, luego eliminamos este amit y agregamos nuestro amid en remoto Pero esa no es una buena práctica porque esencialmente, estamos quitando el trabajo de los miembros de nuestro equipo. Entonces si no tienes ninguna razón principal, entonces en mi sugerencia, no uses la fuerza de empuje. Ahora bien, ¿cuál es la solución para esto? Entonces, si nuestra solicitud push falla, entonces primero, hacemos pull request. Esto agregará este gummit en nuestro repositorio local, y luego usando merge o rebase, podemos agregar cambios en nuestro amid y luego empujar nuestros cambios a remoto Así que ahora nuestro repositorio local y nuestro historial de repositorios remotos son los mismos. Entonces los comandos más útiles para Git son git pull y Git push porque estos dos comandos se usan mucho para trabajar con team. 73. Llevar las etiquetas a distancia: Ahora, supongamos aquí en esta etapa, nuestra aplicación está lista para la versión 1.0. ¿Recuerdas el comando para agregar etiquetas? No te preocupes, puedes ver mi hoja de Git Git. Así que aquí escribimos git tag versión 1.0. Este comando agregamos etiqueta a nuestro commit actual. Si queremos darle esta etiqueta a commit específico, entonces podemos escribir aquí ese puntero o commit tiene. Por ahora, agreguemos etiqueta a nuestro último commit. Verifiquemos esto. Registro de git. Ver, nuestro último commit está marcado como etiqueta versión 1.0. Ahora aquí, quiero decirte algo. Esta etiqueta solo es visible en nuestro repositorio local. Esto no es visible en el repositorio remoto de Github. Entonces, ¿cómo podemos empujar nuestras etiquetas al repositorio remoto? Para eso, tenemos que escribir git push. Aquí escribimos nuestro nombre remoto que es origen. Aquí escribimos nuestro nombre de etiqueta que queremos empujar, que es person 1.0. Hecho. Ahora verifiquemos en el sitio web de Github, obtenemos nuestra etiqueta o no. Mira, aquí tenemos una etiqueta. Veamos esto con más detalle. Aquí, podemos ver el nombre del autor, hora, y también podemos descargar el código fuente completo desde aquí. Lo uso mucho cuando estoy trabajando en grandes proyectos. Entonces así es como podemos empujar la etiqueta. Ahora supongamos que queremos eliminar esta etiqueta, así podemos escribir el mismo comando aquí, agregamos dash delete. Ver, se ha eliminado correctamente. Ahora bien, si revisamos nuestro historial, entonces podemos ver que la etiqueta sigue aquí porque ese comando acaba de eliminar la etiqueta de nuestro repositorio remoto. Si también queremos eliminar esta etiqueta del repositorio local, entonces escribimos Get tag, D, escribimos nuestro nombre de etiqueta. Ver, también se elimina de nuestro repositorio local. 74. Crea lanzamientos para Github: Entonces en la lección anterior, vemos cómo podemos dar etiquetas. Pero aquí hay una cosa sobre las etiquetas. En etiquetas, no podemos describir lo que hay dentro de la versión 1.0. Entonces, si un nuevo desarrollador se une a nuestro equipo, entonces tenemos que explicarle qué hay dentro de esta versión. De lo contrario, tenemos que decirles para ver todos los cambios. Pero no te preocupes, Github brinda una solución muy útil para esta situación. En Github, podemos agregar lanzamientos para describir lo que hay dentro de esta versión. Entonces vamos sección, y aquí tenemos lanzamientos. Actualmente, no tenemos ningún lanzamiento, así que creamos un nuevo lanzamiento. Ahora en la parte superior, tenemos opción para seleccionar la etiqueta. Actualmente, no tenemos etiqueta porque la borramos en la lección anterior. Aquí mismo, nuestro nombre de etiqueta verson 1.0, y creamos una nueva etiqueta Después de eso, seleccionamos una sucursal, que es principal. Aquí podemos escribir el título de nuestro lanzamiento. En su mayoría, escribimos el mismo nombre que nuestro nombre de etiqueta, pero también puedes dar tu nombre. Depende totalmente de ti. Ahora en esta área de texto, podemos describir nuestros cambios y características. Entonces primero, seleccionamos rumbo de aquí y aquí mismo, nuestro encabezado, digamos, detalles de lanzamiento. Quieres ver vista previa, entonces también podemos ver eso. Además, tenemos muchas opciones. Agreguemos viñetas para más detalles. Creemos el diseño básico del sitio web, arreglemos el error de diseño y diseñemos la página de inicio. Veamos la vista previa. Ver, obtenemos nuestros datos. Ahora en la parte inferior, también podemos adjuntar archivos binarios a esta versión. Si has compilado la versión de tu aplicación o cualquier archivo binario que quieras agregar, entonces puedes editar aquí. Si tu lanzamiento no está listo para publicar, entonces podemos verificar este lanzamiento como pre-lanzamiento. Los miembros del equipo saben que esto no está listo para producción. Ahora, supongamos que estamos listos para liberar. Desmarco esta casilla y hago clic en publicar. Mira aquí obtenemos nuestro nuevo lanzamiento y podemos ver detalles, alguna información básica, y como nuestro texto, también obtenemos aquí nuestro código fuente. El lanzamiento es una característica muy hermosa para trabajar en equipo, y también podemos usarlo como documentación de nuestro recorrido de aplicación. Si vamos a la página principal, entonces en el lado derecho, obtenemos todos los lanzamientos de este repositorio. Entonces una cosa que quiero decirte es release es la característica de Github, no de Git. Solo podemos ver lanzamientos usando Github, no por línea de comandos. Ahora en la siguiente lección, veremos cómo se puede estar trabajando con rama en equipo? 75. Trabajar con ramas: Ahora veamos cómo se puede trabajar con sucursales en equipo. Aquí, creo una nueva rama con kit switch C feature slash ad to cart Ahora vamos a revisar nuestra lista de sucursales. C. Aquí obtenemos dos sucursales, principal y Agregar al carrito. Pero esta nueva sucursal sólo está disponible en el entorno local. Ahora bien, si los miembros de nuestro equipo quieren trabajar en la misma rama, entonces ¿cómo pueden hacerlo? Para eso, tenemos que empujar esta rama a nuestro repositorio remoto. O empujando lo que usamos, bien. Usamos git push origin mean para empujar cambios al origen. Pero aquí lo ponemos todo al día porque este comando sólo empujará códigos al control remoto, no a las sucursales. Escribimos aquí, puerta, empuje, aquí obtenemos este error de pétalo, que es decir que la característica de rama actual slash head to card no tiene rama aguas arriba También nos está dando sugerencias para resolver este error. Este comando establecerá esta rama ascendente en nuestro origen de repositorio remoto. Pero espera, ¿qué es esta rama upstream? ¿Qué pasará si establecemos rama upstream? Establecer una rama ascendente significa construir una conexión entre nuestra sucursal local y una sucursal en el repositorio remoto. Déjame explicarte con el ejemplo. Actualmente, esta es nuestra sucursal en nuestro repositorio local. Si subimos nuestra rama, lo que significa que construimos una conexión a, digamos, una rama llamada Origin slash feature slash Ed to card No te preocupes, esto es solo por ejemplo. Si empujas tu sucursal, entonces tiene el mismo nombre que le das. Ahora bien estas dos ramas están conectadas entre sí y también podemos decir rama aguas arriba también conocida como rama de seguimiento remoto. Se podría decir, entendemos que establecer una rama ascendente es construir una conexión entre local y una rama en el repositorio remoto. Pero, ¿por qué necesitamos esta conexión? ¿Cuál es el beneficio de hacer esto? El primer beneficio al establecer la rama ascendente es Git saber dónde publicar los cambios desde la sucursal local. Entonces, si empujamos los cambios desde la sucursal local, entonces por esta conexión, conoceremos dónde se agregarán estos cambios en el repositorio remoto, y también lo mismo se aplicará para tirar los cambios. Si nuestro miembro del equipo empuja algo a esta rama, entonces si sacamos esos cambios, conozca de dónde necesita buscar cambios Por lo tanto, buscará cambios de esta función de barra diagonal de origen de sucursal remota, diagonal agregar a la tarjeta a nuestra En general, al establecer una rama ascendente, nuestro flujo de trabajo es fácil de insertar y extraer cambios entre el repositorio local y remoto. Veamos cómo podemos establecer sucursal upstream para nuestra sucursal local. Y aquí, Git también nos da solución. Antes de eso, veamos nuestras sucursales actuales de rastreo local y remoto. Básicamente, vemos el nombre de la sucursal aguas arriba. Rama Git, V C, aquí obtenemos Min y su rama upstream es origen principal. Pero para las funciones cabeza a tarjeta, no tenemos ninguna sucursal ascendente o podemos decir que no tenemos sucursal de rastreo remoto. Si queremos ver la lista de rama de rastreo remoto, entonces también podemos tener comando para eso. Sucursal Git R para seguimiento remoto. Ver, actualmente, sólo tenemos estos dos punteros orígenes principal y origen slash head Vamos a establecer rama upstream o rama seguimiento remoto usando git push, dat, upstream, o aquí, podemos escribir atajo que es dU o upstream, aquí escribimos nuestro nombre remoto que es origen. Y después de eso, escribimos nuestro nombre de sucursal local, que es característica slash head to cart Recuerda, tenemos que escribir este comando solo la primera vez que empujamos nuestra sucursal. C, se empuja la rama. Ahora bien, si revisamos nuestras sucursales upstream, obtener la sucursal V C. Ahora aquí podemos ver la rama upstream para nuestra sucursal local, que es la característica de origen, slash head to card Además, si ejecutamos git branch R, C, se agrega la rama de seguimiento remoto. Vamos a verificarlo también en GitHub. Básicamente, tenemos una sucursal, refrescar la página y ver, aquí tenemos dos sucursales. Ahora podemos empezar a trabajar en esta sucursal de cabeza a tarjeta, igual que estamos trabajando en nuestra sucursal principal. Cuando queremos empujar nuestras gammas, entonces podemos empujarla en esta rama y otros miembros del equipo pueden ver que empujan cambios Si queremos eliminar este enlace entre la sucursal local y la rama de seguimiento remoto, entonces podemos escribir comando como este push D para su eliminación. Aquí escribimos nuestro nombre remoto, que es origen. Y luego escribimos el nombre de nuestra sucursal que es característica slash head to card Por lo que ahora retiramos la rama de seguimiento remoto. Si ejecutamos git branch, R, luego C, nuevamente, obtenemos estos dos punteros Y si ejecutamos git branch, VV, entonces aquí podemos ver que obtenemos origin feature slash head to card is gone También eliminemos esta sucursal de nuestro repositorio local. Para hacer eso, primero tenemos que volver a cambiar a la rama principal. Aquí escribimos Git branch D, y aquí escribimos nuestra rama name feature slash t to card and done so so so is how we can publish branch on our remote repository by setting upstream branch Ahora en la siguiente lección, entendemos en mundo real cómo los miembros del equipo trabajan con la rama. 76. Escenario del mundo real para trabajar con Branch: Vamos a entender trabajar con sucursales usando escenario del mundo real, se puede entender más claramente sin perder el tiempo. Este no es el ejemplo, esta es una historia real. Cuando me uní a mi primera compañía, tuve la oportunidad de trabajar en una característica, que es trabajar en el diseño de páginas de inicio. Esta característica, tengo que trabajar con Unati y ella es la empleada existente de esa empresa Tenemos que diseñar homepage para el sitio web de la compañía. Esa compañía estaba construyendo un sitio web como stackoverflow para problemas y soluciones Ella me dijo que trabaja en el diseño de tarjetas de preguntas, y tengo que trabajar en la sección de encabezado, pie de página y barra lateral. En primer lugar, creó una nueva sucursal llamada feature Ss Home Page, y comenzó a trabajar en el diseño de la tarjeta Qi. Pero aquí no tengo ni idea. ¿Qué está pasando aquí? ¿Cómo puedo trabajar con branch? Conozco los fundamentos de git, pero no tengo experiencia real. Primero clono el proyecto desde el Github y primero, ejecuto la solicitud de extracción para obtener los últimos cambios del repositorio remoto. También empiezo a trabajar en la misma característica de la rama de página principal de Sless Ambos estamos trabajando independientemente en la misma rama. Ahora terminó con su diseño, por lo que se comprometió con el código y luego empuja los cambios al repositorio remoto. Ahora ella me dice que empujó el código. Aquí de nuevo, pull request y obtener los últimos cambios y fusionarlo con mi código. Ahora después de algún tiempo, estoy listo con mis diseños, así que empujo los cambios y le informo. Ella ejecuta git pull request y la fusiona con su código. Después de 5 horas de hacer este pull and push, terminamos con el diseño de la página principal. Por último, empujo todos los cambios y le digo. Ella tira todos los cambios en la sucursal, y si consigue conflictos, entonces nos contactamos entre nosotros y resolvemos el problema. Ahora bien, este código va a probar y nuestro gerente revisa el código final. Si todo bien, entonces este código se fusiona en la rama principal o rebase o squash kms, cualquiera que sea la mejor opción Entonces esta característica barra inicio rama caída desde el mando A medida que eliminamos la sucursal del repositorio local. Ese es el escenario de trabajar juntos, o puedes ver cómo podemos trabajar en la misma rama que equipo. 77. Muestra práctica de trabajo con sucursales: Veamos el escaparate práctico de trabajar con sucursales. Podría preguntarse ¿por qué me estoy enfocando tanto en trabajar con sucursales? Porque este es el concepto más usado y poco confuso para los desarrolladores, y por eso te estoy mostrando paso a paso. Después de completar este curso, dominas trabajar con sucursales. Para simular esto, les mostraré ambos trabajos de BC. Trabajo en mi PC y además compartiré pantalla de nati PC. Esto es nats PC. Ahora aquí en este proyecto, C crea una nueva rama. Anteriormente, hemos visto cómo crear rama usando comandos, pero también podemos crear ramas usando Github. O abrir esta sucursal, desplegable, y desde aquí, podemos crear una nueva sucursal. Digamos diseñar Página principal y seleccionar, crear una rama de principal y listo. Creamos nuestra nueva sucursal y vemos aquí obtenemos esta sucursal está al día con principal La sucursal está en el repositorio remoto. Tenemos que buscarlo en nuestro repositorio local. Entonces aquí en esta terminal, escribimos git fetch para buscar esta rama Ver, aquí conseguimos nueva página de inicio de slash de diseño de sucursal. Ahora déjame mostrarte algo. Si escribimos rama Git, mira, aquí no obtenemos la nueva rama, pero podemos ver a Git encontrar esta rama en nuestro repositorio remoto. Aquí, escribimos Git branch R. Entonces tenemos esta rama de rastreo remoto. Cuando ejecutamos Git fetch, entonces siempre obtenemos la rama de seguimiento remoto Ahora creamos una nueva sucursal privada en nuestro repositorio local y luego la vinculamos con la rama de seguimiento remoto. Para eso, lo escribimos switch, C o creamos aquí escribimos nuestro nombre de sucursal local, queramos llamar. Podemos llamarlo de cualquier manera, pero la mayoría de las veces, lo llamamos igual que el nombre de la sucursal de rastreo remoto. Así que no necesitamos recordarlo. Página de inicio de diseño. Después de eso, tenemos que escribir nuestro nombre de sucursal de seguimiento remoto, que queremos vincular, que es la página de inicio de diseño de origen. Obtenemos el nombre de la sucursal de rastreo remoto aquí. Ahora bien si escribimos git branch VV, C, aquí obtenemos la rama, y también está vinculada con la página de inicio de la barra de diseño de origen Cuando alguien más crea una rama y empuja la rama en el repositorio, entonces primero, tenemos que ejecutarla comando fetch Por eso, obtenemos la sucursal de rastreo remoto, y luego tenemos que crear una sucursal local y vincularla con nuestra sucursal de rastreo remoto usando Kit Switch, C, nombre de sucursal local y nombre de sucursal de rastreo remoto. Ahora aquí podemos comprometer nuestros cambios y empujarlos a nuestro origen. Entonces abro este repositorio en el código VS, y aquí creo un nuevo archivo llamado index dot DML, y solo agrego aquí código boilerplate Guarde esto y simplemente escenifique los cambios y comprometa estos cambios. Gated M, crear e indexar DML punto para la página de inicio. También empujemos los cambios al mando a distancia. Git push, hecho. Ahora veamos cómo trabajo en mi pantalla. Aquí tenemos nuestro repositorio en mi PC. Si no tenemos, entonces tenemos que clonar nuestro proyecto. Primero obtengamos todos los cambios usando git fetch. Si revisamos nuestro registro, vea, aquí obtenemos nueva sucursal. Ahora cambio a esta sucursal usando Kit switch Design slash página de inicio Ahora antes de empezar a trabajar en nuestro código, siempre es mejor extraer los cambios desde el control remoto. Pero aquí solo traemos los cambios para que no los necesitemos, así podemos empezar directamente a trabajar en esto Aquí hago algunos cambios en script dot js archivo, guardar los cambios. Ahora imaginemos que terminé mi trabajo en esta rama. Vamos a escenificar los cambios y también a confirmar el código con el mensaje de confirmación, completar el trabajo en el archivo js script, empujo los cambios, puerta push. Ahora, como ya le dije anteriormente, cerrar esta sucursal es responsabilidad de nati. Volvamos a las especificaciones nati. Aquí, ver primero, importar mis cambios usando Git pull. Bueno. Aquí nos ponemos rápidos para nuestra fusión. Vamos a revisar nuestro historial. Aquí llegamos a commits. Ahora tenemos nuestro código de sucursal listo y también nuestro puntero de página de inicio de diseño está por delante de la sucursal principal. Aquí, tenemos que fusionar nuestro código en rama principal. Esto lo hemos hecho tantas veces, aquí, primero volvemos a la rama principal. Después de eso, escribimos puerta, fusionamos, diseñamos la página de inicio. Ver, aquí nos ponemos rápidos para nuestra fusión porque tenemos ramas lineales. Pero aquí no tenemos conflictos. Porque esto es solo una demo. Lo más probable es que cada vez tengas conflictos, y ya sabemos cómo resolverlos. Entonces tienes que resolverlo con los miembros de tu equipo. Ahora, veamos aquí nuestro registro. Podemos ver ahora nuestro puntero principal y el puntero de página de inicio de diseño está en el mismo mit. Pero origen Min está en el medio anterior. Entonces tenemos que empujar los cambios en repositorio remoto y cómo podemos hacerlo, bien, usando Git push. Ahora volvamos a revisar nuestro historial. Ahora origen Min está en la misma marcha. Ahora vamos a comprobar esto también en Github. Ir a los gametos. Mira aquí tenemos nuestro último Camite que es Merge Gamit Ahora como nuestra rama de página de inicio de diseño se fusiona en la rama principal, podemos eliminar esta rama de página de inicio de diseño. De lo contrario, creará confusión. Así que consigue ph D origen y diseño homepage. C, rama eliminada del repositorio remoto. Pero si vemos las sucursales, C, aquí todavía tenemos sucursal homepage, así que también tenemos que bajarla. Obtener sucursal D Diseño Página principal. Ahora nuestra sucursal local también está bajando. Ahora de vuelta a mi PC, primero, voy a tirar los cambios para obtener la confirmación de fusión. Ahora ambos tenemos el mismo historial de compromiso. Primero, revisemos la rama de seguimiento remoto usando Git BanChR. Ver aquí Estoy consiguiendo la rama de origen diseño slash home. Hasta ahora quitando la rama de seguimiento remoto, que no están disponibles en remoto, escribimos Git remote Prune origin Este comando eliminará todas las ramas de seguimiento remoto que no estén disponibles en el repositorio remoto. Ahora déjame revisar sucursales locales. Ver todavía tengo aquí, tengo que dejar también la sucursal local. De nuevo, git branch D Design home page, y aquí obtenemos error, no se puede eliminar branch design slash home page porque actualmente estamos en la página de inicio de Design slash, cambiamos a la rama master Puerta como para usar el comando git pull para actualizar la rama local. Mira aquí nos ponemos rápidos para nuestra fusión, y si revisamos nuestro historial, mira aquí todavía tenemos esta rama de página principal de diseño. Ejecutamos git branch D Design slash home page, y es eliminar la rama Así es como trabajamos con sucursales en equipo. Te confundes un poco, entonces no te preocupes, déjame recapitular esta porción Primero, creamos una nueva rama y luego para empujar esa rama, tenemos que establecer la rama aguas arriba. Entonces sabe qué sucursal local se conectó a la sucursal remota. Después de eso, podemos empezar a trabajar en la sucursal. Si queremos empujar algo, entonces primero lo comprometemos y luego podemos empujarlo al origen. Pero antes de hacer push, es una buena práctica usar pull. Obtenemos los últimos cambios y después de completar el trabajo de sucursal de commits, lo fusionamos con la sucursal principal y luego eliminamos la sucursal de rastreo remoto y también la sucursal local. Si la rama de seguimiento remoto ya es abandonada por otro miembro del equipo, entonces tenemos que ejecutar git remote, Prune origin y ya terminamos 78. Crea solicitudes de pull en Github: Ahora, supongamos que está trabajando en una rama y entre el código, quiere obtener algunas sugerencias de los miembros del equipo. Después en Github, puedes tomar sugerencias o abrir discusión para el tema específico. En esta situación, podemos crear una solicitud de extracción para la discusión de apertura sobre nuestro código. Pide sugerencias o comentarios a otros miembros del equipo. Déjame mostrarte eso prácticamente. Aquí está el NathiPC. Vamos a crear una nueva rama e impulsar cambios en esa rama. Primero, escribimos Git switch Design slash Q&A Page. Abramos este código en el código vias. Aquí en el índice punto sdmlfle en el cuerpo, agrego etiqueta principal Dentro de esto, agrego Du en ella, otra DU y aquí H una etiqueta. Esta es la pregunta uno. Esto es solo una demo. Guarde esto y comulguemos y publiquemos estos cambios. En nuestro terminal, escribimos apretado AM, agregando tarjeta Q. Uno. Bueno. Ahora tenemos que empujar estos cambios a nuestro repositorio remoto. ¿Y cómo podemos hacer eso? Podemos escribir puerta, empujar. Pero mira aquí nos sale un error fatal. Me puedes decir por qué? Sí, porque no establecimos rama upstream. O en palabras simples, no vinculamos nuestra sucursal local con la sucursal remota. Aquí simplemente escribimos Git push u origin, aquí escribimos nuestro nombre de sucursal local, que es la página Design Slash Q&A y listo Aquí, impulsamos nuestros cambios con la configuración de la rama Upstream. Déjame abrir esta cuenta en el sitio web de GitHub. Ver en la página principal, aquí obtenemos Diseño SQ y página, H DSN push, y también obtenemos D compare y pull request Aquí podemos abrir discusión para esta rama de página de preguntas y respuestas y colaborador puede dar algunas sugerencias o discutir el código Además, podemos crear pull request desde esta pestaña Pull Request. Haga clic en Nuevo Pull Request. Ahora aquí, podemos seleccionar dos ramas para comparar los cambios. La mayoría de las veces, seleccionamos rama principal como rama base, y aquí seleccionamos nuestra sucursal de página de preguntas y respuestas Ver, aquí obtenemos los commits en esta rama. Tenemos un commit, un cambio de archivo, y también tenemos un colaborador. Aquí obtenemos una lista de confirmaciones y a continuación de eso, podemos ver los cambios en nuestros archivos. Aquí también podemos seleccionar para vista dividida, así podemos ver antes y después con mucha claridad. Ahora abramos discusión para esta rama. Haga clic en Crear solicitud de extracción. Aquí podemos escribir nuestro título de discusión. Cambiemos estos por sugerencias para el phon de la tarjeta de preguntas. A continuación, podemos describir lo que queremos discutir, lo que queremos arreglar, etcétera Digamos, primero agregamos sugerencias de título necesarias, y después de eso, viñetas, sugieren algunas etiquetas semánticas para tarjeta y resumen este código corporal Ahora podemos simplemente crear pull request o también podemos redactarlo. Vamos por Crear solicitud de extracción. Mira aquí estamos en la conversación y este estado de solicitud de extracción está abierto. Ahora bien, ¿cómo pueden saber otros miembros del equipo que abrimos esta discusión? Para eso, tenemos que agregarlos en los revisores. Da click en este ícono de engranaje, y aquí tenemos la lista de colaboradores, que agregamos en nuestro repositorio al inicio de esta sección. Se como esta cuenta. Ahora, en el momento en que seleccionamos al usuario, Github envía un correo electrónico a este usuario y le decimos que tiene nueva discusión. Ahora déjame cambiar la ventana y mostrarte cómo este miembro del equipo puede revisar nuestro código. Entonces esta es mi cuenta original. Vamos a la solicitud de extracción y vemos aquí tenemos esta discusión. Abre eso. Ver en la parte superior, aquí nos llega este mensaje. Este usuario solicitó su opinión sobre esta solicitud de extracción. Así que haz clic en agregar tu opinión. Aquí, obtenemos una vista dividida de este archivo cambiado. Si quieres ver todo el archivo, entonces podemos hacer click aquí, Ampliar Todo. Ahora aquí, tengo un par de cambios que me gusta sugerir. Primero, en esta etiqueta principal, podemos ir como artículo de sección, y luego H una etiqueta, y luego H una etiqueta, no la simple de También quiero contar en clase para el artículo de la tarjeta de preguntas para que los desarrolladores sepan que esta es una tarjeta de preguntas. Aquí podemos ver antes de cada línea, obtenemos estos íconos plus. Por eso, podemos escribir reseña para cada línea. Pero actualmente, solo quiero decir jerarquía de texto y nombre de clase. Entonces hago clic en este ícono más, y escribimos nuestra reseña aquí. Entonces agrego viñeta primero, agrego etiqueta semántica, sección principal, artículo y H uno, y después de eso, agrego la clase igual a tarjeta de subrayado de pregunta a la etiqueta del artículo Y simplemente inicia la revisión. Ver aquí podemos ver la revisión y detalles y actualmente se encuentra en estado pendiente, y simplemente terminamos esta revisión. Aquí, tenemos que escribir una descripción básica para nuestra revisión. Entonces podemos escribir estas son la sugerencia para este código, hacer los cambios, y empujarlos. Ahora en la parte inferior, obtenemos tres opciones. Primero, podemos presentar esto como comando. Podemos establecer aprobar y podemos solicitar los cambios. Actualmente, estamos solicitando dos cambios, por lo que podemos seleccionarlos y simplemente enviar la revisión. Verás, estamos en la pestaña de conversación de esta pull request, y desde aquí, podemos ver lo que está pasando aquí en la parte inferior, obtenemos nuestra revisión, cual se acaba de presentar de manera muy sistemática. Y debajo de eso, puedes ver que tenemos solicitud de cambios. A en el lado derecho, tenemos este icono, que informa a este usuario a solicitud de cambios. Entonces ahora volvamos a cambiar a la cuenta nadis a partir de la cual inicié esta discusión Primero, hicimos la vista previa desde la pestaña de conversación. Y luego hacemos cambios en nuestro código. Entonces abro índice punto sdmlfle. Primero, cambio esto primero debido a la sección y segundo DU a artículo. Si te preguntas cómo estoy cambiando las etiquetas de apertura y cierre juntas, entonces tienes que instalar la extensión de etiqueta Autor nam en tu código VS, muy recomendable. Además, necesitamos agregar aquí clase a la tarjeta de subrayado de pregunta Guarde los cambios, y vamos a comprometerlos. Así que las etiquetas semánticas de GTMTAM, y la actualización del nombre de la clase Sé que este es un mal mensaje de coommit, pero es solo para demo Entonces empujemos también esto. Ahora como hemos hecho con nuestros cambios, tenemos que decirle a ese miembro que vea nuestros cambios y los verifique. En el lado derecho, tenemos esta opción de re solicitud de revisión. Haga clic en eso. Esto nuevamente enviará correo electrónico a ese usuario y le dirá que vea las actualizaciones. Vuelvo a cambiar a mi cuenta, y aquí puedo ver este usuario solicitó su opinión sobre esta solicitud de extracción. Haga clic en agregar su opinión. Consulta nuestros cambios y si no estamos satisfechos, entonces podemos volver a escribir reseña y enviarla. Aquí, estamos satisfechos con los cambios, luego podemos hacer clic en visto y simplemente hacer clic en estos cambios de revisión. Aquí, escribo, perfecto, eso se fusiona en nuestra rama principal. Desde abajo, podemos seleccionar, aprobar y enviar revisión. Mira aquí obtenemos los cambios aprobados, y esta discusión cumple con su propósito y podemos ver en la parte superior, tenemos el estado de cambios aprobados. Ahora en la parte inferior, tenemos opciones para fusionar esta solicitud de pool Ahora aquí hay un debate qué desarrollador hace a la hora de cerrar la solicitud de pool. Pregunta ¿quién debe fusionar esta solicitud de extracción? El que inició esa solicitud de extracción o algunos revisores debe fusionar la solicitud de extracción Algunos desarrolladores optan por esta primera opción porque piensan que la persona que inicia pull request sabe más de eso. Entonces el o ella que creó esta solicitud de extracción, tienen que fusionarla. Entonces algunos desarrolladores dicen que la persona que contribuye a MR es el revisor, el revisor debe fusionarse Honestamente, no necesitas preocuparte por eso. Simplemente pregúntale al respecto a los miembros de tu equipo o gerente porque algunas empresas siguen primera opción y otras siguen la segunda. Así que haz lo que sugieran los miembros de tu equipo. Podemos fusionar esta solicitud de extracción desde aquí y obtenemos tres opciones para merge, simple merge, squash y merge, y rebase y merge Ya conocemos esta opción, así que vayamos por la fusión simple, confirme la fusión. Ver, obtenemos pull request fusionar y cerrar con éxito. Ahora podemos eliminar esta sucursal de aquí. Podemos restaurar la sucursal. Ahora déjame ir al switch NathipCF de nuevo a la puerta do principal, pull para obtener la Mira, nos ponemos rápidos para nuestra fusión y si revisamos nuestro historial, mira, aquí tenemos página de preguntas y respuestas y también la rama de seguimiento remoto Tiene que eliminar esta sucursal del local y también eliminar la sucursal de rastreo remoto. Entonces esta rama ya está eliminada del repositorio remoto, y queremos eliminarla de nuestro repositorio local, y cómo podemos hacerlo. Podemos escribir git remote, prune origin. Ahora vamos a eliminar también esta sucursal local. Git rama D, Diseños Q&A página y hecho. Puedes ver si usamos algún comando Git dos o tres veces, entonces no nos confundimos con eso. Como te dije, esto es todo acerca de la práctica. Sé que esta lección es poco larga, así que puedes tomarte un descanso de cinco a 10 minutos, tomar un poco de aire fresco, y después de eso, continuar este curso. 79. Resolver conflictos durante las solicitudes de pull: Anteriormente, hemos visto cuando estamos haciendo merge in pull request, no obtenemos ningún conflicto. Pero, ¿y si tenemos conflicto? Una forma es que podemos usar el código VS, pero eso es poco largo. Si estamos haciendo fusión en nuestra sucursal local, entonces tenemos que usar código VS. Pero también, podemos resolver conflictos usando Github. Solo es útil mientras estamos fusionando pull request. Digamos esto. Primero, creo una nueva sucursal desde Una esta PC y hago una marcha y empujo a esa Kat Obtener características de swish C Página principal. Aquí en index dot sdmlfle, cambio el título de demo a título de página de inicio Y también cambiar la primera línea en script punto archivo Gs. Esto es script para la página de inicio. Guarde los cambios y cometamos esta función Gtms AM, Actualizar el título y el guión para el hogar Ahora, vamos a empujar esta rama en Github. ¿Te acuerdas de eso? Derecha, usa Git push para configurar la característica Origen de la rama Upstream Slash página de inicio Hecho ahora para crear conflicto, abro cuenta Github desde mi PC y simplemente abro index dot stmlfle seleccionamos Editar y cambiamos este título a título en Comprometamos los cambios y continuemos con este compromiso. Ahora vamos a crear un archivo js de inscripto de conflicto más. Entonces nuevamente cambiamos la primera línea al guión por rama principal y venimos los intercambios Ahora déjame crear una solicitud de extracción. Así que dirígete a Github y vamos a la sección pull request. Aquí, creamos una nueva solicitud de extracción. La base es la rama principal, y la comparamos con la característica página de inicio de SLS Ver, aquí no podemos fusionar automáticamente. No te preocupes, aún puedes crear una solicitud de extracción. Vamos a crear una solicitud de extracción. Aquí automáticamente elige Commit message, y podemos escribir una descripción para la solicitud de extracción, solicitud extracción para la página de inicio de barra de características y crear una solicitud de extracción Ver, aquí obtenemos esta rama tiene conflictos que deben resolverse. Entonces aquí podemos usar la línea de comandos para resolver los conflictos. Además, podemos hacer eso usando Github. Simplemente damos clic en Resolver conflictos. Aquí en el lado izquierdo, obtenemos la lista de archivos que tienen conflictos. Aquí podemos ver el conflicto. Ya hemos visto estos punteros. Quiero mantener este título de página de inicio. Se conflicto se ha ido de este archivo y haga clic en Marcar como resolución para este archivo. Ahora para el siguiente archivo, aquí guardo este código de sucursal principal. Ver aquí están todos los conflictos se han ido. También podemos marcar este archivo como resolver y simplemente cometer fusión. Y mira, ahora esta rama no tiene conflicto con la rama base. Además, si quieres agregar revisores, entonces también podemos hacer eso, igual que hicimos en la lección anterior Ahora podemos fusionar pull request, y confirmar merge. Así es como podemos resolver conflictos mientras creamos una solicitud de fusión. 80. Crea problemas en Github: Ahora en Github, como tenemos la función pull request, también obtenemos la opción issues. Nuevamente, esta es la característica de Github, no de Git. ¿Cuáles son estos temas? Issues es como un Nodos pegajosos que usamos en nuestro libro. Los nodos pegajosos se utilizan para escribir nodos, corregir algo o escribir preguntas, etcétera Igual que podemos usar temas para rastrear tareas, errores, o también podemos discutir sobre nuestro proyecto. Déjame mostrarte eso. Así que haz clic en Nuevo número. Aquí, podemos escribir el título de nuestro número. Digamos, discusión sobre las características de las tarjetas. Y aquí escribimos nuestra descripción para este número. Vamos a discutir sobre las características de la tarjeta de preguntas para este proyecto. Aquí también podemos dar fe la imagen demo de nuestra tarjeta de diseño básico Los archivos adjuntos son muy útiles. Si estamos creando problemas para resolver los errores, entonces podemos dar fe de la captura de pantalla o grabación de pantalla para mostrar los errores En el lado derecho, podemos asignar el problema a los miembros de nuestro equipo. Por ahora, acabo de agregar mi otra cuenta. Después de eso, tenemos etiquetas. Github tiene tantas etiquetas relevantes para casi todo tipo de temas. Vea aquí obtenemos documentación de errores, duplicado, mejora, buen primer problema, inválido, pregunta y corrección de Vance Además, podemos crear nuestras propias etiquetas. Editemos estas etiquetas. Y crear una nueva etiqueta. Podemos dar nombre discusión. A partir de aquí, podemos cambiar de color. Entonces déjame probar algo. Sí. A mí me gusta este y creo etiqueta. Ahora volvamos a nuestra página. Y selecciono esta nueva etiqueta. Aquí también podemos vincular nuestros proyectos. Además, actualmente, no tenemos hitos. Veremos hitos en la siguiente lección. Por ahora, no te preocupes por eso. Además, actualmente, no tenemos pull request, lo contrario, también podemos conectar problema con pull request. Y cuando fusionamos esa solicitud de extracción, entonces todos los problemas conectados se cerrarán automáticamente y enviemos un nuevo problema. Mira aquí conseguimos que este número esté abierto. Ahora los cedentes comentarán sobre este tema y discutirán sobre lo que piensan y establecerán sus sugerencias Ahora, después de completar toda la discusión, también podemos cerrar este tema. Así es como podemos usar temas usando Github. Por eso a los desarrolladores les encanta Github. 81. Agregar hitos en GitHub: Ahora, a veces en nuestro proyecto, queremos crear un hito. Hito, podemos ver como la meta a corto plazo o la meta a largo plazo, que queremos completar en tiempo particular. Por ejemplo, en nuestro proyecto, queremos agregar la función de autenticación de usuario. Para que podamos crear un hito y fijar la fecha para completar este hito. En este hito, podemos agregar varios tipos de problemas como página de inicio de sesión de diseño, página de registro de diseño, plan de opciones de restablecimiento de contraseña, etcétera Supongamos que complete este número de página de inicio de sesión de diseño, así puedo marcar ese número como cercano, y en nuestro hito, obtenemos un avance de 33.3% Cuando se resuelven todos los problemas, que están conectados a este hito, entonces nuestro hito fluye automáticamente. Esto es muy útil para planificar, organizar y hacer un seguimiento del progreso de nuestros proyectos. Veamos cómo podemos crear hito en Github. Aquí estamos en la sección temática. En la parte superior, obtenemos la opción de hito. Actualmente, no tenemos hitos, creamos un nuevo hito Aquí, escribo título para este hito. Digamos autenticación de usuario. Aquí, podemos seleccionar el approxtate cuando completemos este hito, y por fin, podemos escribir una descripción para describir este Por lo tanto, implemente la funcionalidad de autenticación de usuario, incluidas las funciones de inicio de sesión de registro y restablecimiento de contraseña, y creamos un hito. Esta es nuestra lista de hitos. Aquí tenemos detalles básicos sobre hito y aquí podemos ver nuestro progreso. Ahora para mostrarte el progreso, agreguemos un número en este hito. Ir a los números y crear un nuevo número. Agregar aquí título, diseño, página de inicio de sesión, agregar asignadorAsí también podemos asignar nuestro propio yo Selecciono etiqueta a realce y desde aquí, podemos seleccionar hito. Ver, aquí tenemos hito de autenticación de usuarios. Esta es otra forma de agregar temas en hito. Entonces por ahora, acabo de presentar un nuevo número. Ahora volvamos a la página de números. Aquí, seleccionamos nuestros números de todos los números que están abiertos. Y aquí tenemos opción de hito. Aquí seleccionamos hito de autenticación de usuario y vemos, aquí obtenemos nuestro nombre de hito. Veamos nuestro hito. Podemos ver que tenemos un tema abierto en este hito. Entonces haz clic en el hito y después de completar el número, podemos seleccionarlo y marcarlo como número cercano. Y mira aquí nuestro hito está 100% completo. Así es como podemos usar hitos en Github. 82. Flujo de trabajo en proyectos de código abierto: Hasta ahora vemos cómo podemos trabajar en nuestro proyecto con los miembros de nuestro equipo. En Gitub, también podemos trabajar en proyecto de código abierto. Veamos el flujo de trabajo del proyecto de código abierto. Por ejemplo, aquí hay un proyecto de código abierto en el que te gusta contribuir. Este es el proyecto en mi cuenta de Gitub, pero no puedes empezar a trabajar directamente en este proyecto porque no te agregan como colaborador, y por eso tampoco puedes empujar tu código en este Entonces, ¿cuál es la solución aquí? ¿Cómo podemos empezar a trabajar en este proyecto? Primero, tienes que agregar ese proyecto en tu propia cuenta de Github. Esto se llama como creación de Fork. Ahora aquí tenemos acceso completo para este repositorio. Ahora cuando hayas terminado con tu contribución, entonces puedes empujar tus cambios a tu repositorio. Después de eso, puedes crear una solicitud de extracción para fusionar tu código. Y en el momento en que creas una solicitud de extracción, Github, envíeme eso por correo electrónico. Alguien crea una solicitud de extracción para este proyecto de código abierto. Reviso tu código. Si quiero darte algunas sugerencias, entonces te daré y luego cuando esté satisfecho con el código, puedo fusionar ese código en mi proyecto directamente desde tu solicitud de pool. Aquí, no puedes fusionar los cambios en mi repositorio porque solo yo puedo empujar los cambios a mi proyecto. Para resumir, primero, encontramos proyecto de código abierto en el que te gusta trabajar Entonces bifurcamos ese repositorio. Esto agregará ese proyecto de código abierto en tu cuenta de Github. Cuando haya terminado con sus cambios, entonces puede empujar los cambios en su proyecto para su revisión final, puede crear pull request. Ahora, el autor de esa solicitud verifica tu código, da algunas reseñas sobre tu código, o te sugiere que hagas algunos cambios y luego simplemente fusionar ese código en su proyecto de código abierto. Así es como podemos trabajar en el proyecto de código abierto. Ahora en la siguiente lección, vamos a ver esto prácticamente. 83. Cómo trabajar en un proyecto de código abierto: Entonces, cuando queremos contribuir en algún proyecto, puedes buscar aquí el repositorio. Supongamos que quiero trabajar en la funcionalidad de búsqueda en react. Así que busco aquí reaccionar buscar. Aquí, obtenemos la lista de repositorios, y así es como podemos encontrar repositorio Y en ese repositorio, los desarrolladores agregaron algunos temas que abren para discusión o contribución. Se puede trabajar en ese tema específico. Aquí, selecciono mi propio proyecto, que creé hace tres años. Y aquí podemos ver también abro un número para este repositorio. Ahora bien, este repositorio es comprometido por mi cuenta antigua, no por Cod bless you account. Y en este navegador, me conecté con Cod blessu para poder contribuir a ese proyecto Ahora, el primer paso para trabajar en proyecto de código abierto es que tenemos que bifurcar el repositorio en nuestra cuenta. Entonces, en el lado derecho, simplemente haz clic en este ícono de niebla. Aquí podemos cambiar estos detalles si queremos y simplemente dar clic en crear Niebla. Ver, aquí obtenemos la copia de ese repositorio y podemos verlo niebla desde el repositorio original. Aquí podemos ver que esta sucursal está actualizada con nuestra sucursal de repositorio original. Ahora podemos cerrar este repositorio en nuestra máquina y empezar a trabajar en eso. Déjame mostrarte eso para que no te confundas. Copia este enlace de repositorio y abre la terminal donde quieras agregar este proyecto. Aquí escribimos Git clone y pegamos el enlace del repositorio. Bueno. Vamos a entrar en esta carpeta y crear una nueva sucursal aquí. Consigue switch como C design Home y ábrelo en código VS. Aquí, hago un pequeño cambio en app dot archivo JS. Guarde los cambios, y vamos a comprometerlos. Entonces Git, ven 8:00 A.M. Actualiza el archivo F. Y por empujar esta rama, primera vez escribimos Git push U para upstream origin design home. Bueno. Ahora cuando hayamos terminado con nuestras actualizaciones, volvemos a nuestro repositorio, actualizamos la página. Ver, aquí tenemos esta casa de diseño Harris y push. Así podemos comparar y tirar de solicitud, igual que antes. Pero aquí hay una pequeña diferencia. Estamos comparando nuestra rama de diseño doméstico de nuestro repositorio de niebla, y comparamos con esta rama maestra de repositorio original. Aquí, podemos escribir un título para la solicitud de extracción, y también podemos escribir una descripción. Por ahora, selecciono directamente crear solicitud de extracción. Ver, aquí creamos solicitud de pool, y en esto, no tenemos conflictos. Pero aquí hay una cosa. No podemos fusionar esta solicitud de pool, solo el encargado o propietario puede fusionarla. Entonces desde mi antigua cuenta, puedo aceptar los cambios e implementarlo en ese repositorio principal. Aquí está mi cuenta antigua, que es la dueña de ese repositorio, y aquí podemos ver pull request. Abre eso y aquí podemos ver esa cuna desde abajo, mira aquí esta cuenta, consigue merge, pull request, así merge pull request, y confirme merge. Ese cambio se agrega en el repositorio principal. Así es como contribuimos al proyecto de código abierto. 84. Sincroniza Local y Fork con el repositorio base: Cuando bifurcamos un repositorio, este repositorio de niebla no está realmente conectado al repositorio base. Entonces, cuando estamos trabajando en ese repositorio de niebla en este repositorio base, alguien puede cometer cambios. Entonces en ese momento, tenemos que sincronizar la niebla con este repositorio base. Pero, ¿cómo podemos hacer eso? Es muy sencillo. Entonces vamos al repositorio de niebla. Ver, aquí estamos consiguiendo esta rama es dos rama detrás de la rama repositorio base, lo que significa que hay dos viene suceder después de nuestro código actual. Entonces en el lado derecho, obtenemos la opción sync fog. Aquí, podemos comparar estos cambios o simplemente podemos actualizar rama. Entonces tenemos sucursal actualizada aquí. Así que simplemente podemos obtenerlo en nuestro repositorio local. Así que ejecuta git, busca. Ver, aquí conseguimos nuevo commit. Ahora podemos simplemente fusionarlo con nuestro master commit. En primer lugar, nos cambiaremos a la rama maestra. Bueno. Actualmente, estamos en la rama Master, y escribimos git merge origin master. Y hecho. Tenemos todos los cambios en nuestro repositorio local así como en el repositorio de niebla. Eso es muy fácil y eso se trata de trabajar en un proyecto de código abierto. No hay ciencia cohete para esto, tenemos que practicarla dos o tres veces. 85. Herramientas de colaboración en VS Code: Ahora veamos algunas herramientas de colaboración en código VS. Entonces en nuestro proyecto, aquí podemos ver que actualmente estamos en la rama maestra. Déjame cambiar a la otra rama. Ahora déjame mostrarte cómo podemos impulsar el cambio a nuestro control remoto. Entonces en el archivo Read Me, cambio este título, digamos, iniciando con VSCode Guarde esto, y ahora vamos al control de fuentes. Escribir mensaje de commit, actualizando léeme para VSCode, y Ahora aquí podemos ver que obtenemos la opción de cambios de sincronización. Y si pasamos el cursor sobre eso, entonces dice, empujar uno commit to origins Design slash home branch Entonces a partir de aquí, también podemos empujar. Además, si hacemos clic en estos tres puntos, también obtenemos la opción push. Con eso, también obtenemos opciones pull, clone checkout, fetch y mucho más interesantes Ejemplo, si vamos a CDs, aquí, podemos hacer Commit normal, commit only stage files, commit, deshacer el último commit y también sobre rebase Tenemos cambios, pull, push, branch, remote, escaleras, etiquetas, y casi todas las opciones que se utilizan a menudo en git. No quiero aburrirte mostrando todas y cada una de las opciones. Ya vimos estas opciones usando la línea de comandos. Entonces aquí, hago simple empujón. Y hecho. Nosotros publicamos los cambios. Utilizo estas opciones cuando no quiero abrir terminal. De lo contrario, me gusta usar línea de comandos porque eso es más claro para mí y además no me gusta usar mouse cuando estoy codificando. No sé por qué. Si quieres usar estas opciones, entonces también está bien. Realmente depende de tu elección personal. Yo no soy nadie que te diga que uses esto o no uses eso. La elección es suya. También en el panel de control de origen en la parte inferior, podemos ver nuestros cometas, ramas, controles remotos, estasis, etiquetas, árbol de trabajo, y en la parte inferior, obtenemos la lista de contribuyentes de este repositorio También, desde aquí, podemos agregar colaborador. Si no quieres usar el sitio web de Github. 86. Colaboración con Github Desktop: Ahora veamos las opciones de colaboración en la aplicación de escritorio Github. Entonces aquí también cambio el título del archivo Read Me para comenzar con la aplicación de escritorio Github. Guarda esto y déjame comprometerme esto con mensaje, actualización, léeme archivo para Github Dextop Bueno. Ahora, pasemos a la aplicación de escritorio Github. Actualmente, no tengo nuestro proyecto de repositorio de niebla abierto en la aplicación de escritorio Github, así que tengo que abrir eso. Entonces voy al archivo, agrego repositorio local, elijo mi ruta de carpeta y agrego repositorio. Ver aquí obtenemos directamente la opción de origen push. También puedes abrir este proyecto en Github usando este botón. Herramienta muy útil. Ahora en la parte superior, tenemos repositorio actual. Después de eso, tenemos rama actual, y luego podemos ver que tenemos botón push to origin, y debajo de eso, obtenemos detalles sobre fetch En el mundo real, cuando estamos listos para impulsar nuestros cambios, es una buena práctica extraer primero los cambios desde el origen. Entonces en el lado derecho, tenemos botón. Consulta aquí obtenemos el origen del parche. Haga clic en eso. Y si tenemos cambios, entonces obtenemos esos cambios en nuestro repositorio. Y si tenemos conflicto, entonces antes de empujar, podemos resolver nuestros conflictos. Y por eso, no necesitamos volver a presionar Merge kat. Usando esta práctica, podemos limpiar nuestra historia de Cat. Ahora en la parte superior, tenemos el menú del repositorio, y dentro de él, obtenemos muchas opciones básicas para git, como push, pull, fetch, remove, y en la parte inferior, obtenemos la configuración del repositorio Solo me gusta esta opción porque aquí podemos cambiar fácilmente nuestro repositorio remoto. Entonces estas opciones son muy similares en el código VS. Lo curioso es que el código VS tiene muchas más opciones que la aplicación de escritorio Github. Y por eso te digo escritorio Github es una aplicación sencilla, básica y amigable para principiantes. Simplemente empujemos al origen y hecho. Ahora aquí podemos ver que podemos previsualizar pull request, y también podemos crear pull request. Y cuando creamos una nueva solicitud de extracción, entonces podemos verlo en nuestra página de repositorio. Ahora veremos otras opciones en la siguiente lección usando Git crack y aplicación. 87. Colaboración con GitKraken: Ahora veamos las herramientas de colaboración usando Git kraken. En primer lugar, en Git Kraken, tenemos que abrir ese repositorio de niebla porque actualmente no está abierto Así que ve al archivo, OpenRPO aquí, seleccionamos repositorio abridor y seleccionamos nuestra carpeta de repositorio Ahora aquí podemos ver actualmente estamos en la rama Design Slesome En el lado izquierdo, podemos ver el nombre de la sucursal local, controles remotos, solicitud de extracción actualmente activa, que es cero También podemos crear pull request desde aquí. Después de eso, tenemos problemas, seleccionamos aquí Github, y obtenemos los problemas. Aquí, también podemos crear un nuevo número y después de eso, tenemos muchas más opciones. Ahora déjame mostrarte algo realmente genial. Aquí tenemos repositorios. Después de eso, tenemos lista de sucursal que ya vemos en el apartado anterior. Ahora después de eso, tenemos un par de botones que son muy útiles. Primero, nos deshacemos, que es por deshacer el último abrigo Si pasamos el cursor sobre ese botón, entonces podremos ver qué hace ese botón Entonces deshacemos el último en medio. Mira, aquí se ha ido. Déjame rehacer eso Después de eso, tenemos pull button, y aquí en el pull, tenemos muchas opciones. Trae todo, jala si es posible avanzar rápido, solo avance rápido y rebase Ahora, después de eso, tenemos pulsador y este botón de rama para crear rama a partir de esta confirmación seleccionada actual. Ahora aquí, damos click sobre el nombre de esta sucursal. Podemos ver, también obtenemos pull request, push set upstream, que configuramos para empujar rama por primera vez. También en la parte inferior, podemos iniciar pull request para esta sucursal y muchas más opciones. Aquí, no tenemos mucha opción porque estamos trabajando en el repositorio de niebla y no podemos empujar directamente al repositorio base. Comencemos la solicitud de extracción. Aquí, podemos seleccionar nuestra sucursal de nuestros dos orígenes. Desde nuestro repositorio de niebla, sucursal Design Home y compárela con nuestro repositorio base Sucursal Master. Ahora escribimos aquí, pull request title, así que actualizando léeme en casa de diseño. Aquí, también podemos escribir descripción, y desde aquí, simplemente podemos crear Pull request. También tenemos opción continuar editando en Github y vea aquí obtenemos el sitio web de Github. Simplemente haga clic en Crear solicitud de Pool. Y hecho. Si tenemos conflicto, entonces aquí, podemos resolver este conflicto. Y después de eso, desde el repositorio base, podemos fusionar estos cambios al repositorio base. Ya vimos ese derecho. Ahora desde mi segunda cuenta, que es autora de este repositorio, vamos a la pull request. Aquí, no tenemos ningún conflicto, así que podemos fusionarlo con rama. Y hecho. Así es como podemos trabajar con herramientas de corabación en él Kraken. Pero aquí está mi opinión personal. Si sabemos lo que es push, pull, setting upstream, merge, rebase y todos los términos, entonces usar la línea de comandos git es mucho más fácil que usar la interfaz gráfica de usuario En las GUI, podemos ver claramente la historia. Pero para estas opciones, personalmente creo que la línea de comandos es una opción mucho mejor. Puede abrir nuestra ficha en cualquier momento y escribir ese comando. Tan simple como eso. No necesitamos encontrar opciones o no necesitamos abrir aplicación de escritorio Git Kraken o Github en segundo plano En lugar de eso, simplemente podemos usar Git Bash o el terminal de código VS Entonces eso es todo acerca de la colaboración en git. Espero que aprendas mucho de esta sección. Después de esta lección, agregué Resumen PDF y puedes agregarlo en tu ficha 88. Sección 06 Limpia y organiza el historial: Bienvenido a la última sección del curso ultimate it. En esta sección, veremos cómo podemos limpiar y organizar las ayudas en la marcha. Entonces veremos hacer commits, recompensar a los niños, recuperar commits perdidos, soltar commits, cambiar el mensaje de comando, dividir, aplaudir y mucho, mucho más En palabras simples, reescribiremos o git commit history. Entonces comencemos esta sección. 89. Reescribe el historial de los compromisos: Ahora la pregunta que podrías hacer por qué necesitamos reescribir nuestra historia La razón por la que escribimos la historia o almacenamos la historia de nuestro proyecto es que queremos ver cómo evoluciona nuestra aplicación con el tiempo. Por historia, podemos ver en ese año, cuáles son las características que lanzamos, cuáles son los errores que solucionamos, y quiénes contribuyeron a qué característica, y muchas cosas más. Ahora imagínese en el momento en que vemos nuestra historia, vemos mal mensaje de compromiso. A veces cometemos pequeños cambios, que se pueden hacer en commits individuales o hicimos amidas realmente grandes en las que implementamos dos características juntas, lo cual no es bueno. A veces es posible que queramos eliminar las commits no deseadas, luego en ese momento, tenemos que reescribir nuestro historial de commits Por eso esta sección es útil para hacer nuestra historia limpia y organizada, que es el signo de desarrollador profesional. Ahora podrías preguntar, ¿ deberíamos reescribir historial de commits de proyectos que son remotos La respuesta es no. No debemos reescribir los commits que empujamos a remoto porque eso va a estropear nuestro proyecto para los demás y terminamos con un gran problema En muchas empresas, sólo la autoridad superior reescribirá la historia Pero primero, él o ella trae reunión o informa a todos los miembros del equipo sobre la reescritura de la historia Pero como desarrollador, podemos reescribir el historial de commits, que son locales y no push al remoto Reescribiendo la historia, podemos hacer que nuestra historia sea más limpia y organizada En la siguiente lección, comenzaremos con hacer el historial de compromiso. 90. Deshace el compromiso en los detalles (RESET): Entonces antes que nada, para esta sección, diseñé uno de él proyecto llamado Curso cartwis Obtendrás el proyecto en la carpeta de recursos que descargaste al inicio de este curso. Para que puedas abrir esa carpeta en el Git Bash o en la terminal Veamos la historia de este proyecto. Ver, aquí tenemos lista de Commits. Aquí, queremos deshacer el medio. Ya lo vimos en las secciones anteriores, pero solo quiero asegurarme de que no nos perdamos ningún tema. Entonces como sabemos para deshacer el amid, usamos el comando git reset, y este reset tiene tres opciones, LSD soft, LSDs mix, que es el default y hard Déjame explicarte cada opción una por una. Así que imagina que este es nuestro código de directorio de trabajo y queremos almacenar ese código en nuestro historial de Git. Primero, escenificamos nuestros cambios, y luego hacemos Commit. Ahora, después de algún tiempo, trabajamos en un error fijo en el diseño de maquetación. Nuevamente escenificamos los cambios y los comprometemos. Ahora aquí queremos deshacer la Commit B y queremos volver a commit A. Si escribimos git reset the soft head till one, entonces Git deshará la commit en git history. Aquí, obtenemos commit A, pero no tocará nuestro código de directorio de trabajo y código de área de puesta en escena. Se quedarán igual que antes. ¿Sabes que esta situación actual es cuál condición? Cuando hacemos cambios en el directorio de trabajo y escenificamos nuestros cambios, pero no lo comprometemos. Ahora supongamos en el lugar de ahí está el soft, escribimos mixto, entonces deshará nuestro último commit actual a la cabeza hasta que uno, que es un commit en el historial de commit. También reemplazará nuestro código de área de puesta en escena con código Com A. Pero aún así, no tocará el código del directorio de trabajo. ¿Sabemos que esta condición es cuál condición? Derecha. Cuando hacemos cambios en el directorio de trabajo, pero no escenificemos esos cambios, realmente lo estás haciendo genial. Ahora bien, si escribimos guión duro, entonces deshará todo el área en cabeza hasta uno, que es uno venir antes de que la cabeza se comprometa, que es A. ¿Conoces esta condición? Derecha. Cuando acabamos de hacer Commit A, todo nuestro código está en el estado anterior. Veamos estas opciones en acción. Digamos que queremos deshacer nuestro último compromiso con el commit anterior. Primero, veamos qué hicimos en este commit. Obtener mostrar referencia de Commit, que es head. Ver aquí en este commit, cambiamos estilo punto archivo CSS. Y aquí agregamos estas líneas de código. Entonces primero, escribimos git reset, da di soft. Aquí, escribimos nuestro Comite tiene o puntero sobre el que queremos movernos Entonces él, que es el Camttll actual, que es uno commit antes de este Sepa que esto solo deshará commit en el historial de commit y no toque nuestro directorio de trabajo y tampoco toque el área de puesta en escena. Entonces nuestro área de puesta en escena tiene esas líneas, pero nuestro amit se restablece a la versión anterior Entonces podemos ver eso al ver la diferencia entre área de puesta en escena y commit. Para eso, tenemos comando, Git df das cast. Mira, aquí tenemos esas líneas. Ahora, vamos a escribir git reset, dd mixed, add till one. Comando deshará el comando actual a la cabeza hasta un comando y también desdeclarará los cambios Aquí, a partir de este comando, si eliminamos esta prueba como mixta, entonces por defecto, obtener la prueba usada como mixta. Podemos verificar esto viendo la diferencia entre el área de trabajo y el área de preparación. Podemos usar el estado de Git, o también podemos usar GTF Mira, aquí obtenemos esta diferencia. Ahora veamos la última opción, que es obtener reset, ahí está esta cabeza dura hasta una. Ahora nuestro todo un código se restablecerá a esta cabeza hasta uno. Ahora si vemos el DF vemos, aquí no obtenemos ninguna diferencia porque toda el área se restablece para que se dirija hasta un cometa. Así que aquí nuestras últimas tres commits se han ido porque ejecutamos el comando reset tres veces. Así es como podemos deshacer el commit a un commit específico. 91. Revertir los compromisos: En la lección anterior, vemos cómo podemos deshacer el abrigo. Ahora veamos revertir amidas. Imagina que tenemos dos amidas en nuestra historia, que empujamos al github. Ahora no podemos deshacer esas amidas y volver a empujarlas. Coincidirá con el código para todos los miembros de nuestro equipo. Entonces, en esta situación, usamos revert, lo que significa que podemos deshacer esos cambios que hizo nuestro omit B y crear un nuevo Revertir significa volver a la versión anterior, pero sin envolver amidas anteriores Ver esto prácticamente. Entonces aquí tenemos nuestro historial de compromiso, y quiero deshacer los cambios que hizo este tercer cometa. Imaginario, pensamos que todo esto viene es empujado al control remoto, así que no podemos usar git reset. Entonces usamos aquí, Git reword y aquí escribimos Commit reference, que comprometemos los cambios que queremos deshacer, que es esta cabeza de Camt hasta dos Si escribimos cabeza hasta una, entonces deshará los cambios realizados por el segundo Cate. Aquí, también podemos revertir múltiples commits con un cometa. Si quieres revertir todos los cambios que realiza esta gama específica de cometas, así podemos escribir algo como Primero, escribimos la referencia de commit, una commit a continuación, que es él hasta cuatro. Punto doble, aquí escribimos último commit, que es head. Recuerda, sea cual sea el commit que escribamos primero, tomará commits después de ese abrigo hasta el último commit. Este comando revertirá los cambios realizados por estos cuatro commits y creará nuevos cuatro mets Ahora, Git pide mensaje Commit por cada nueva amida de recompensa. No quiero cambiar el mensaje de commit, así que simplemente estoy cerrando este cada archivo y listo. Ahora vamos a revisar nuestro historial. Mira, aquí conseguimos cuatro Camts de recompensa. Ahora, como podemos ver revertir múltiples amidas está haciendo que nuestra historia sea desordenada ¿Hay alguna otra solución que pueda limpiar este lío? Sí, hay un descanso. En lugar de crear estos cuatro cometas de recompensa individualmente, podemos revertir esos cambios y ponerlos en single met Entonces primero, retiremos estos cuatro medicamentos. Nosotros no los queremos. Aquí, podemos usar reset porque estas cuatro amidas no se plantean al repositorio remoto. Por lo que vamos a utilizar los resets de puerta con fuerza y donde queremos mover la cabeza Cierto, queremos mudarnos aquí. Entonces él, esto es cabeza hasta uno, cabeza hasta dos, hasta tres hasta cuatro. Así que dirígete hasta las cuatro. Ahora vamos a revisar nuestro historial. Mira, aquí deshacemos esos cuatro ametes. Ahora volvamos a revertir estos cuatro cometas, pero vamos a crear sólo un Escribimos Git, revert, dn, das amet y aquí escribimos nuestra referencia de Kameit igual que antes Cabeza hasta cuatro cabezas de punto doble. Mira aquí no obtenemos nada, pero podemos ver que estamos en el proceso de reversión Actualmente, git revierte todos los cambios que ocurrieron en esos cuatro comandos y puso esos cambios en el área de puesta en escena Podemos comprobar que usando git status S. S, aquí obtenemos tres archivos con D, que se elimina y uno con modificado y también tamp el cual está desrastreado Revertimos los cambios en el área de puesta en escena. Si quieres ver los cambios o hacer algunos cambios más, entonces nosotros podemos hacer aquí. Actualmente, no queremos hacer nada, así que podemos escribir Get revert Aquí tenemos dos opciones. Acerca de por abortar la revertida, o podemos continuar la revertida, lo que nos llevará a cometer esa revertida en un solo ait Nosotros sí seguimos Obtener pedir mensaje de compromiso. Aquí solo tenemos el último mensaje de reversión de compromiso. Podemos escribir aquí, revertir último para Coit para degustación. Guarde este archivo y ciérrelo. De vuelta a la terminal, ver revertir está hecho. Y en la historia, también obtenemos solo una reformulación en. Ahora, como puede ver, nuestros tres expedientes se han ido. Entonces por ahora, volvemos a restablecer esto en porque solo quiero mostrarte la demo de revert, pero podríamos necesitar estos Camtes en el futuro Así que consigue reiniciar, hay esta cabeza dura hasta uno y listo. Ahora en la siguiente lección, veremos p log. 92. Reflog para recuperar los compromisos perdidos: Ahora imagina en nuestro código, nosotros bi místicamente restablecemos nuestro código para que se dirija hasta las tres Aquí podemos consultar nuestro historial de cometas. Verás, perdimos nuestros tres primeros mets. Ahora bien, ¿y si queremos recuperar a esos ametos? Ahora bien, aquí se podría decir que perdimos eso en. ¿Cómo podemos recuperarlo? En git, realmente no perdemos nada. Consigue almacenarlos en el repositorio y cuando esos cometas perdidos se mantengan alejados por mucho tiempo, solo Git elimina esos cometas Si restablecemos bimstaalmente nuestro código, entonces Git no eliminará inmediatamente esos cometas Aquí ejecutamos Git Rf log, que es la forma completa de registro de referencia. Este comando mostrará la referencia de nuestro puntero de cabeza predeterminado. Básicamente, nos mostrará cómo se mueve nuestro puntero de cabeza en nuestra historia. Oh, ¿qué es lo que acabamos de ver? ¿Sientes tanta confusión? Sólo estoy bromeando. Esto es realmente sencillo. Déjame explicarte eso. Esto es solo mostrar cómo se mueve nuestro puntero de cabeza. Al principio, obtenemos commit a, luego obtenemos identificador de unidad para ese punto, y luego obtenemos la descripción de esa acción. Al principio, hice diez gametos en línea recta Con cada gameto, nuestra cabeza se mueve. Después de eso, en la primera lección, ejecutamos este comando git reset tres veces. Después hicimos cuatro veces revertir y luego reiniciar, Camt y Ahora bien, lo bueno de esto es que aquí tenemos a todos los cometas. Y en esta lección, también hicimos reset por error Lee. Por lo que solo necesitamos mover nuestro puntero de cabeza a esta referencia anterior y recuperamos el cometa perdido Entonces git reset, D duro. Aquí escribimos nuestra referencia aproximada de registro o podemos decir este ID de commit, o también podemos usar este ID de commit. Cabeza en calibrakets. Ahora, si revisamos nuestro historial de compromiso, mira, obtenemos nuestros Cumms perdidos Lo que aprendemos de esto Cuando ejecutamos el comando git reset, Git en realidad no elimina esos cometas. Consigue solo muévete Headpointer y pon esos commits en algún lugar de la historia Si durante mucho tiempo no tocamos esos comandos, entonces solo Git eliminará esos comandos. Así recuperamos nuestros comads perdidos usando f log. Ahora bien, la única pregunta que me hacen muchos alumnos es, podemos ver solamente el referencia headpointer o podemos ver cualquier registro de referencia de punteros tienes razón con el comando Git flog, podemos ver cualquier registro tienes razón con el comando Git flog, de referencia de punteros Actualmente, no tenemos ninguna sucursal. Te mostraré el f log de este puntero maestro. Git flog show, y aquí escribimos nuestro nombre de puntero, que es master Tenemos sucursal llamada carrito de características, luego escribimos aquí carrito de características. Consulta aquí obtenemos registro de referencia para Puntero maestro. Es lo mismo que el puntero de cabeza porque se mueven juntos en esta historia. Ahora actualmente, vemos todas las referencias o podemos ver la historia completa. ¿Y si queremos ver solo los últimos cinco momentos de nuestro puntero maestro? Podemos simplemente escribir aquí N espacio. Aquí escribimos cinco. Mira, aquí solo obtenemos los últimos cinco momentos de nuestro puntero maestro. Esto es muy útil, eso es todo acerca de ref log. Ahora en la siguiente lección, veremos cómo podemos hacer cambios en la comi existente 93. Modifica el Commit reciente: Ahora veamos enmendar comando. Por lo que enmendar significa corrección. Podemos hacer la corrección en nuestro comando reciente sin crear un nuevo comando. Déjame mostrarte. Entonces aquí en el archivo ML de punto índice, simplemente cambiamos el título a Cartwigs Modern Ecommerce Guardar los cambios menos son estos cambios y confirme este cambio con el mensaje de compromiso, actualizando el título de la aplicación. Ahora aquí hicimos nuestro Commit, y en nuestro título, encuentro que necesitamos capitalizar esta W en ortografía Cardi y también queremos agregar guión entre E y comercio Aquí no queremos crear un nuevo Camt para este pequeño cambio Aquí podemos usar comando de enmienda. Hacemos cambios en nuestro título, guardamos este archivo y enseñemos estos cambios. Para Gamat escribimos Puerta KamITF enmendar solo agregamos enmendar Aquí escribimos nuestro nuevo mensaje de compromiso. Además, si quieres usar el mismo mensaje de commit que el mensaje de commit anterior, entonces no escribimos nada aquí. Ver, aquí nos llega el mensaje de commit anterior. Cierra esto y listo. Actualizamos nuestro último kommt. Si queremos comprobar qué hemos cambiado en nuestro último Commit, entonces podemos escribir Git show. Ver, aquí obtenemos título actualizado. Ahora, una cosa que quiero aclarar es conseguir que no actualicen realmente el último Commit. Oficialmente crea un nuevo comando porque los commits de Git son inmutables, lo que significa que si creamos un commit, entonces Git no puede modificarlo Pero aquí se nota como si estuviera modificando el último commit. Ahora bien, ¿y si queremos agregar archivo en el commit anterior? Para eso, tenemos que hacer el mismo proceso que acabamos de hacer. Aquí en nuestro proyecto, creamos un nuevo archivo, scrape dot js y dentro de él simplemente consola dot log Este es un archivo de script. Guarda este archivo y vuelve a Git pas aquí montamos nuestros cambios y simplemente podemos usar Git commit, dd amend. No cambiemos el mensaje de compromiso. Ahora, vamos a revisar nuestro último compromiso. Ahora como agregamos un nuevo archivo en nuestro último commit, ¿cómo podemos eliminar el archivo? Es un poco complicado. Entonces para eso, primero lo usamos reset, y aquí usamos la opción mixta de DDs porque solo queremos restablecer nuestro historial de commit, y además restablecemos de etapa nuestro directorio de trabajo permanecerá igual que antes, área de enseñanza y commit se restablecerán Así que consigue restablecer como lo hace mixto, Dirígete hasta uno. C, desmontamos los cambios, y en el archivo STML de punto índice, obtenemos nuestro título Así podemos eliminar este archivo temp y ahora podemos escenificar nuestros cambios. Y luego en lugar de usar Git commit, amend, usamos simple commit porque restablecemos nuestro último commit y también le damos un mensaje, actualizando el título de la aplicación y creamos archivo script y listo. Entonces así es como funciona el comando de enmienda. Ahora bien, ¿y si queremos modificar alguno de estos commits, y lo veremos en la siguiente lección? 94. Modifica cualquier compromiso en la historia: Entonces, en la lección anterior, vemos cómo enmendar nuestro último cometa. Pero, ¿y si queremos modificar alguna anterior en? Digamos estos en estilos para índice STML cuerpo. En este medio, queremos cambiar el color de fondo de nuestro cuerpo. Entonces, ¿cómo podemos hacer eso? Es muy sencillo. Primero, vamos a comprobar qué cambiamos en ese abrigo. Así que Git show d35, CB 01. Ver, aquí podemos ver agregamos estilo para cuerpo, pero quiero cambiar este color de fondo. Aquí vamos a usar el comando rebase. Déjame explicarte lo que hace el comando base. Imagina aquí tenemos seis commits A a F, y queremos cambiar commit, digamos C. Tenemos que rebasar para commit B porque commit C base es commit B. Así que aquí hacemos cambios en nuestra commit C, y como sabemos, los commits de Git son inmutables Git no puede cambiar la confirmación. Git crea una nueva confirmación que tiene nuestros cambios y luego la rebase con commit B. Podrías preguntar, ¿cómo puede Git reemplazar C commit con commit C ¿Y qué pasa con los commit D, E y F? La respuesta es Git no reemplace el commit C con C. En lugar de reemplazar commit C, aquí, Git create commit, igual que este commit D, pero ese commit tiene también el cambio que hacemos en CDs. Si Git elimina ese cambio en la siguiente confirmación, entonces ¿cuál es el punto de esto? Entonces es por eso que Git Pi exactamente mismo commit que commit D, pero con cambios. Lo mismo ocurre con commit E y commit F. Git elimina esta rama anterior, y así es como al usar git rebase, podemos modificar cualquier commit en nuestro historial Pero asegúrate de que solo cambiemos aquellas confirmaciones que no son empujadas porque rebase claramente reescribe la historia Ahora veamos rebasar en acción. Entonces aquí, que comprometemos queremos cambiar. Escribe éste. Entonces copiamos el ID de confirmación de su base, que es su confirmación anterior. Recuerda siempre para rebase, tenemos que tomar referencia de confirmación previa Ahora para rebase, escribimos git rebase I para interactivo. Básicamente, queremos decirle a Git. Queremos interactuar o hacer cambios en nuestros commits. Y aquí escribimos nuestro commit base, que es 4239 CEC Consulta aquí en nuestro editor de código, obtenemos este tipo de interfaz. Por ahora, no usamos esta interfaz porque te va a confundir Veremos cómo usar esta interfaz en las próximas lecciones. Aquí, desde abajo, hemos cambiado a opción de texto. Aquí obtenemos este tipo de líneas. No te preocupes. Estos son solo un script que git va a ejecutar, y estos son todos medicamentos desde nuestro antiguo hasta el último orden de confirmación Aquí al inicio de cada amet, tenemos opción de PC, tenemos opción de PC, lo que significa que Git simplemente escoge esos cometas de la historia y lo rebase Ahora bien, ¿y si queremos cambiar este amet? Entonces en la parte inferior del archivo, obtenemos muchas opciones y es explicación. Entonces para editar en el lugar de pico escribimos editar. Ahora no queremos editar otras amidas, pero si queremos hacer, entonces también podemos escribir aquí, editar, guardar este archivo, encerrar ambos archivos Mira, aquí nos detenemos en este Camt para editar, y actualmente estamos en rebasar uno de cinco, y podemos ver que ya podemos modificar este compromiso Entonces ahora podemos cambiar lo que queremos cambiar en este abrigo. Así que en estilo punto archivo CSS, quiero cambiar el color de fondo a blanco. Y color a tiene 101010. Guarde los cambios, y probemos estos cambios. Y también Gt ka mate, guión, guión, enmienda. Lo siento, es un errata. Entonces, abrigo de puerta, guión, guión, enmienda. Seguimos con el mensaje de omitir. Así que cierra esto. Ahora en esta etapa, veamos la historia. Ves, como te dije, Git inicia una nueva sucursal, y esta es nuestra base en. Y aquí en la parte superior, obtenemos nuestro actualizado Modifique Camt Ahora cuando continuemos con esta rebase, entonces Git escoge estas amidas y se la pone en esta Camt y luego quita estos viejos Ahora para continuar con esta rebase, escribimos git rebase O si queremos sobre, entonces podemos escribir sobre. Por ahora, continuemos esta rebase y no tenemos ningún otro dits, Git rápidamente completa este proceso Ahora vamos a revisar nuestro historial. Aquí podemos ver que nuestra historia vuelve a ser lineal. Si observas, te das cuenta todos los cometas ID son diferentes a los cometas anteriores Entonces se confirma que Git crea nuevos cometas. Pero como sabemos, esto es para organizar la historia. Ahora si vemos en nuestro código, entonces también obtenemos esos cambios en nuestro archivo CSS de puntos de estilo. Los cambios que modificamos en que Camt también está disponible en todas estas amidas Así es como modificamos cualquier Camd usando git rebase I. 95. Cómo abandonar todo el commit: Dejar caer un todo en es útil cuando bi comprometemos erróneamente nuestro trabajo Pero cuando dejamos caer cualquier camet, tenemos que tener en cuenta que estamos rechazando todos los cambios que hicimos en ese En nuestra historia, tenemos este trabajo en progreso en, lo que bimstakally hice Veamos qué me comprometo en esto al andar, mostrar AC a 49c Aquí podemos ver en el archivo ML de punto índice. En lugar de este texto, agregamos esta etiqueta he, y en estilo archivo CSS, agregamos este estilo para sección. Ahora bien, si dejamos caer este comando, entonces estos cambios irán. Entonces para caer también, usaremos rebase. En nuestro ejemplo anterior, tenemos seis commits, y si queremos soltar esta commit C, entonces usamos gate rebase I, y aquí comenzamos con base que es Commit B. Y luego soltamos esta commit C. Aquí, nuevamente, creamos una nueva commit para commit D, E y F y luego las reemplazamos con Commit B, eso es simple drop Aquí, nuevamente, creamos una nueva commit para commit D, E y F y luego las reemplazamos con Commit B, eso es simple drop Ahora bien, y si en este commit C, creamos un archivo llamado página DML En cualquiera de estos tres commits, cambiamos algo en ese archivo. Entonces llegamos aquí conflicto porque cuando dejamos caer Commit C, entonces nuestro archivo pg ML también caerá. Y en nuestros otros commits, estamos haciendo cambios en esta página punto S archivo DML Entonces aquí tenemos conflicto. No te preocupes, lo resolveremos ya que está usando la herramienta Merge. También es muy sencillo. Sólo te digo que el conflicto puede suceder si dejamos caer nuestro compromiso. En nuestro ejemplo, aquí tenemos estos cambios. Dejemos caer este compromiso y veamos que tenemos conflicto o no. ¿Qué opinas? A ver. Entonces primero, escribimos git rebase I y aquí escribimos nuestro ID de commit anterior, que es nuestra base Nuevamente, aquí vamos al cambio a texto y aquí obtenemos estos guiones. Ahora queremos dejar caer este abrigo en el lugar de este pico, escribimos drop o podemos quitar este todo en del script, guardar los cambios, cerrar estos archivos y ver aquí conseguimos rebasar con éxito si revisamos nuestro historial, luego ver que el progreso de trabajo kate se ha ido porque no obtenemos conflicto Déjame mostrarte qué debemos hacer si tenemos conflicto porque eso podría confundirte y no quiero que te confundas Aquí en nuestro proyecto en carpeta de componentes, creamos un nuevo archivo llamado myders dot HTML En este archivo, simplemente agregue aquí H una etiqueta, y esta es mi página de Pedido. Los cambios y vamos estos cambios. Además, consigue crear mi pedido punto DML página. Bueno. Ahora, de nuevo, cambiamos algo en este archivo. Entonces en etiqueta ST, digamos que esta es la lista de pedidos. Guarde los genes, y también vamos a escenificar esto y comprometerlo también con las actualizaciones de mensajes de Commit para la página Pedidos. Ahora veamos nuestra historia. Digamos que queremos abandonar este segundo commit. Así que hacemos git rebase I y commit ID de nuestra base, que es 9981 Asegúrate de escribir tu identificación de compromiso. Aquí nuevamente obtenemos scripts en nuestro editor de código. Queremos dejar este commit, para que podamos eliminar este commit de aquí. Guarde este archivo, y también cerremos este archivo. En el Git Bash, mira, aquí tenemos conflicto porque dejamos caer nuestro commit y en ese comando, estamos descartando todos los cambios, que es que es que creamos Moder dot Eliminamos mi pedido punto sdmlfle y en el siguiente commit, estamos haciendo cambios en ese mismo estamos haciendo cambios en ese Entonces por eso tenemos conflicto. La mayoría de las veces, no enfrentamos esta situación. Pero si a veces ocurre, entonces podemos hacer así. Podemos verificar nuestro estado usando el estado de Git como a, C, aquí obtenemos D y U, lo que significa eliminación y actualización. Entonces para resolverlos, simplemente escribimos aquí git merge tool. Ver, aquí obtenemos borrado conflicto de fusión para componentes slash Moder punto STml Local se elimina y remoto, lo que está indicando En esos tenemos modificación. Entonces para modificado, podemos escribir A, para eliminar, escribimos D, y para Abortar, podemos escribir A. Aquí no queremos eliminar nuestro archivo Vamos por Modificar porque queremos mantener esta página de Moder en nuestro Cmd Ahora si revisamos de nuevo nuestro estado, entonces aquí nos agregan y obtenemos este Moder punto STml punto ORIG, que es el archivo temporal que Gate crea durante el Podemos ignorarlo o también podemos eliminarlo de nuestro proyecto. Ahora continuemos con nuestro proceso de rebase usando Continuar rebasado Vamos con el mismo mensaje y listo. Ahora, si volvemos a revisar nuestro historial, vea nuestras caídas en medio con éxito. Entonces así es como dejamos caer nuestro medio. Ahora en la siguiente lección, veremos cómo solo podemos cambiar el mensaje Commit. 96. Cambiar el mensaje de confirmación: Ahora en nuestra historia actual, supongamos que quiero cambiar el mensaje de commit de este segundo commit porque el mensaje no es claro. qué se refiere con cambios en la estrategia de índice ML, que cambian. Y este tipo de mensaje de compromiso puede crear mucha confusión. Así que siempre es mejor cambiar estos mensajes, así nuestra historia parece significativa. Primero, déjame ver qué hice realmente en ese commit. De veras se me olvidó eso. Obtener espectáculo D seis, un 7d59 Bien, aquí agrego esta sección de lista de productos. Entonces para cambiar el mensaje de commit, también usamos aquí rebase Obtener rebase I, y aquí escribimos nuestro ID de commit base, que es 61a8 Solo ten en cuenta, el commit base siempre es uno que viene por delante de Commit que queremos rebasar De nuevo, llegamos aquí guión. Ahora por cambiar el mensaje de commit en el lugar de pico, escribimos recompensa. Aquí también podemos reformular múltiples comandos. Supongamos que este último comando queremos reformular. Aquí escribimos reword. Ahora cuando cerremos este archivo, nos pedirá el mensaje de commit actualizado para qué comandos agregamos reword Déjame mostrarte guardar estos cerrar estos archivos. Ver, pido mensaje de compromiso para nuestro primer comando. Aquí escribimos agregando sección de lista de productos en el archivo DML de punto índice Guarde esto y cierre este archivo. Y nuevamente, podemos escribir un mensaje de compromiso para nuestro último compromiso por el que nos recompensamos. Estoy contento con este mensaje. Así que vamos a por ello y listo. Ahora si revisamos nuestro historial, vea, aquí obtenemos un mensaje de compromiso actualizado. Ahora aquí, de nuevo quiero decirles, como hacemos pagos, como hacemos pagos, nuevamente crean este Camt y como se recrea este commit, los todos los abrigos van a recrear los todos los abrigos Entonces es muy claro que estamos reescribiendo la historia. Está bien si tenemos gametos en nuestro repositorio local, pero no debemos cambiar los gametos que ya están empujados en el repositorio remoto 97. Cambia las posiciones de los commits: Ahora, en nuestra historia, si queremos mover commits arriba y abajo, digamos, aquí tenemos esto actualizando el título de la aplicación y crear script file Commit. Queremos mover este commit debajo de este nombre de clase de anuncio en index dot sdmlKit Entonces aquí volvemos a empezar a rebasar obtener rebasi aquí escribimos nombre base del cometa donde queremos Supongamos aquí tenemos diez cometas, queremos mover el seis cometa tras el tercer encuentro Ante esta situación, comenzamos el proceso de rebasar a partir del cometa dos porque eso va a ser Ahora supongamos que si queremos colocar el seis cometa después de ocho cametas, entonces empezamos a rebasar a partir del Para cambiar la posición del repositorio, siempre comenzamos a rebasar desde el punto más bajo Por eso aquí empezamos a rebasar desde esta posición. Nueve E cuatro, CD tres D. Así que nuestro guión de rebase tiene estos todos los kats Ahora aquí, podemos simplemente mover líneas en qué orden, queremos reordenar repositorio Entonces vamos al título de actualización y archivo de script Cat y simplemente manteniendo presionado Alt u Opción, flecha arriba y abajo, podemos cambiar la posición de los abrigos en la historia, moverlo a la parte superior de la historia y guardar este archivo y cruzar estos archivos. Mira, aquí conseguimos una rebase exitosa. Vamos a revisar nuestro historial. Mira esto en moverte al fondo, así es como podemos cambiar la posición de nuestros amets. Ahora en la siguiente lección, veremos ¿cómo podemos fusionar dos o más ametes en un solo amet 98. Rompe dos o más compromisos: Ahora veamos cómo podemos combinar dos o tres cometas. Entonces aquí en nuestra historia, podemos ver agregar el nombre de clase en archivo SML de punto índice y agregar estilos para el cuerpo del índice dotlFle Estos dos códigos pueden combinarse en un solo cometa porque ese es el mismo proceso Entonces los combinaremos juntos. Aquí, nuevamente iniciamos el proceso de rebase desde aquí. Así que consigue rebase I seis F EA tres F ocho. Nuevamente, cambiamos al texto. Ahora queremos combinar este segundo commit en nuestro primer commit. Entonces para el segundo commit en el lugar de pico, escribimos squash. Si también queremos combinar este tercer commit en este ambos, entonces también podemos escribir aquí squash. Por ahora, no queremos eso, así que volvemos a echar un vistazo Guarde este archivo y cierre estos archivos. Ahora Git nos preguntará por el nuevo mensaje de commit. Aquí obtenemos todos los mensajes de commit, que commits aplastamos. Entonces aquí, estoy eligiendo este primer mensaje de commit y elimino el segundo mensaje. Y también, podemos cambiar este mensaje de commit para agregar estilos para index dot StML Guarde este archivo y cierre. Vea aquí nuestra rebase completada con éxito. Veamos nuestra historia. Mira, solo obtenemos un coamte en nuestra historia de Comte. Ahora supongamos que combinamos torpemente estos abrigos . ¿Y si queremos deshacer la última rebase? Entonces aquí usamos el registro de Gid Raf. Aquí podemos ver en la parte superior, tenemos acabado de rebase. Después de eso, tenemos pico, pico, pico, squash y inicio de rebase Entonces tenemos que movernos a este Camt donde terminamos nuestra anterior rebase Copia esta identificación de Cait, y pasemos al fondo Y aquí escribimos Git, restablece duro a esta Cam Vamos a revisar nuestro historial. Mira aquí volvemos a llegar, esos dos kamts separados Ahora la razón por la que deshacemos esta calabaza es porque hay otra manera de combinar nuestras amidas. Nuevamente escribimos, obtenemos base I, nuestra base amet aquí obtenemos rebase script Ahora en el lugar de escribir squash, podemos escribir Fix up. Ahora podrías preguntarte, ¿cuál es la diferencia entre squash y fix up? Entonces son casi iguales. Pero como sabemos, cuando usamos squash, después de eso, tenemos la oportunidad de escribir un mensaje de commit para ese commit combinado. Pero cuando usamos Fix up, entonces no tenemos la oportunidad de escribir un mensaje de compromiso. Obtener pick el primer mensaje de commit como el mensaje de commit combinado. Aquí, nuestro primer commit de repositorio combinado es este. Por lo que elegirá este mensaje de compromiso. Guarde esto y cierre el archivo. Ver, kit automáticamente completar el proceso de rebase sin pedir mensaje de compromiso, y obtenemos ese mensaje en nuestro historial Ahora en la siguiente lección, veremos cómo podemos dividir un solo commit en dos o más commits. 99. Dividir los compromisos: Ahora veamos el último tema de reescribir el historial de commit, que es dividiendo grandes ametes en pequeños Aquí en este Camt creamos página CAT y también página de perfil de usuario Esto puede ser grande Kummet. Podemos dividir este solo Camt en dos cometas, uno para la página CAT y otro para la página de perfil de usuario Aquí, nuestra base Camt también está un cometa por delante de esto en. Déjame mostrarte otra forma de escribir previo en medio. Aquí, seleccionamos nuestro commit actual y copiamos su ID. Ahora, escribimos, git rebase paso ese ID de commit actual, y olvidando commit anterior, usamos aquí signo de quilates Esto significa este compromiso. Aquí cambiamos al texto. Ahora bien, este amit lo queremos dividir. Entonces aquí escribimos, editamos en el lugar de pico. Entonces cuando cerramos este archivo, se quedará en este commit, y luego mediante el uso del comando reset, podremos separar nuestros ammts Déjame mostrarte prácticamente. Guarde este archivo y ciérrelo. Ver estamos en proceso de rebasar. Veamos dónde estamos exactamente en nuestra historia. Git log, mira, actualmente estamos en este Camt porque nuestra cabeza está aquí Ahora lo que queremos hacer es que usaremos el comando reset para eliminar nuestro código comite actual del área de puesta en escena y también de nuestro amet Aquí, escribimos git reset, soft, pero eso solo eliminará nuestro código de at. También quieres eliminar el código de nuestra zona de espera. Para eso, escribimos aquí, es mixto. Ahora estamos reiniciando el código de commit actual al cual código commit Reiniciaremos al cometa anterior. Cabeza, buharrón. Ahora en nuestro directorio de trabajo, tenemos todos los cambios que hemos hecho en ese gran medio, pero no son escenario o no en gato. Déjame aclarar eso con el estado de Git. Mira, aquí tenemos dos archivos sin seguimiento. Entonces aquí podemos hacer tantos commits como queramos. Primero, vamos a comprometernos para la página del carrito. Así que escenificamos primer archivo de página de carrito, Git add components slash cart dot sgML Nos comprometemos a cambiar. Git commit, implementa la función de carrito. Ahora vamos a revisar nuestro historial. Ver, aquí obtenemos historia diversa porque nuestra base es esta y aquí nuestros coamts anteriores Ahora vamos a crear otro commit para el perfil de usuario. Escenamos aquí componentes barra perfil de usuario punto SGML, y también CommitateGT Ahora la razón por la que no usamos aquí modificar commit porque no queremos cambiar en nuestro commit actual. Aquí queremos crear un nuevo Cat. Así git dM, Implementar función de perfil de usuario. Ahora vamos a revisar nuestro historial. Ver en la parte superior, obtenemos dos cometas separados No te preocupes, todavía estamos en el proceso de rebase. Esta no es la salida final. Ahora cuando continuemos nuestro proceso de repase, entonces Git recreará a estos otros cometas y lo pondrá encima de estos dos comemetas por eso, entonces Git recreará a estos otros cometas y lo pondrá encima de estos dos comemetas por eso, nosotros gat historia lineal. Git rebase continuar. Bien, rebasamos con éxito. Verifiquemos eso por historia. Mira aquí obtenemos dos commits separados y nuestro gran commit se ha ido de nuestra historia. Para recapitular rápido, primero iniciamos el proceso de rebase, luego lo usamos comando en el script de rebase Después de eso, cuando estamos en ese gran commit, eliminamos nuestro código actual del área de ensayo y cometemos área usando git reset, quilates de cabeza mixta. Carat de cabeza significa que reiniciamos nuestro área de espera y comprometemos el código al código de compromiso anterior. Aquí, podemos escenificar los cambios y comprometerlos, Commit uno, y también nuevamente escenificar los cambios, y luego commit, que puede ser Commit two. Y entonces podremos continuar el proceso Bs y completarlo para que S divida Commit y reescriba nuestra historia 100. Reescribe la historia con GitKraken: Ahora veamos cómo podemos reescribir nuestra historia usando Git Kraken Aquí duplico el proyecto que te doy para practicar al inicio de esta sección y simplemente abro eso en puerta Kraken Aquí tenemos todas las malas medicinas y queremos realizar reescribir la Ahora reescribir el historial es súper fácil en el cracker de puerta y es el mismo proceso en el código VS también Ahora reescribir la historia significa que tenemos que rebasar. Aquí queremos iniciar proceso de rebase como base de esto en Así que escribimos click en ese commit y simplemente seleccionamos aquí rebase interactiva a partir de este commit En palabras simples, que comprometemos seleccionamos, se establecerá como base kommt Ahora aquí simplemente obtenemos este tipo de script de rebase. Ya vimos esta interfaz en el código Vas. Aquí, a partir de este desplegable, podemos cambiar el comando. Ver para primer commit selecciono reword. Aquí podemos cambiar nuestro mensaje de compromiso. En el lugar de los cambios en el punto índice SDML, escribimos agregar lista de productos en archivo SGML de punto índice y actualizamos el mensaje Ahora también queremos fusionar este tercer comando en este segundo comando, podemos seleccionar aquí squash y ver usando flecha, obtenemos claro squash. Ahora aquí queremos dejar caer también esta capa de trabajo en progreso. Si obtenemos conflts, entonces Git kraken, pide modificación, eliminación, y Igual que Gitask en nuestro Git Bash. Empecemos la rebase ver, aquí tenemos conflicto y podemos ver archivos conflictivos en el lado derecho Da click en eso y aquí tomamos cambios de B y simplemente hacemos C. C, el conflicto se ha ido, y ahora podemos continuar esta rebase o también podemos abortar Vamos por Continuar y ver que todos los cambios están hechos. Esa es una base simple en Git Kraken y viscode. Pero aquí hay una cosa. Yo Git Kraken o en código Vs, podemos hacer enmendar cometer o dividir cometas Para eso, tenemos que usar terminal. Por eso primero te muestro Git usando la línea de comandos y luego para las herramientas GI. Ahora, oficialmente cubrimos todos los temas de la marcha. ¿Qué opinas? ¿Qué es lo que más te gusta de Git? Utilizarlo en terminal o usarlo con herramientas de interfaz de usuario. Me gusta usar la línea de comandos para todos los comandos y herramientas GI para ver el historial y rebase Tu elección puede verse diferente, pero es tu elección personal. Al final del día, tienes que trabajar en tu sistema. Sea lo que sea que usemos, nuestro trabajo debe hacerse. 101. Sección 07 Los comandos de Git más utilizados: Bienvenido a la sección de recapitulaciones del curso definitivo de Git. En esta sección, veremos todos los comandos que son más comunes en la vida de los desarrolladores. Es como una revisión de conceptos de git. Así que sostén un poco de agua y disfruta de esta sección. 102. Fundamentos y comandos de historia de Git: Empecemos con los comandos básicos de Git. En primer lugar, para inicializar nuestro proyecto, utilizamos el comando Gain init. O si ya tenemos proyecto en Cloud, entonces usamos clon de Git, y URL. Después de obtener nuestro proyecto, podemos hacer cambios en nuestro código, y luego podemos escenificar esos cambios usando Git add. Y aquí escribimos nuestro nombre de archivo. La puesta en escena de los cambios significa que estos cambios están listos para el pelaje. Es como zona de espera. Ahora bien, si quieres escenificar todos los cambios, entonces escribimos aquí Git add period. Entonces, si quieres ver nuestro estado actual, entonces escribimos Git status o git status para short status. Ahora, después de satisfacer nuestros cambios, nos comprometemos a los cambios para almacenar ese código en nuestro historial de puertas, para almacenar ese código en nuestro historial de puertas usando Git commit, y agregamos aquí mensaje. Aquí, asegúrate de escribir un mensaje significativo. Si no agregamos ningún archivo nuevo, entonces podemos usar este comando de atajo, Git commit AM message. Mediante este comando, podemos escenificar y comprometer nuestro código en un solo comando. Ahora bien, si quieres ver la diferencia entre código de área de trabajo y el código de área de puesta en escena, entonces podemos usar Git DF si queremos ver diferencia entre el código de área de prueba y el código comprometido, entonces podemos usar Git dif, stage, o podemos usar Git Di dash dash cast. Después de eso, si queremos ver nuestro historial de commits, entonces podemos usar el comando Git log. Y si queremos ver el historial en una línea, entonces podemos usar Git log, dash one line. También podemos agregar otras opciones como y graficar para el historial de grafos. Después de eso, si queremos ver qué cambiamos en Commit, entonces podemos usar Git, show, y commit ID. Además, podemos usar su puntero de cabeza y si queremos ver un archivo específico, entonces podemos usar Git, show, commit reference y con columna, escribimos nuestra ruta de archivo. Así que a veces queremos cambiar el código de una commit a otra. Entonces podemos usar Git checkout, commit ID, o también podemos usar Git, switch, commit ID. Ahora bien, si en nuestro proyecto, alguien escribe muy mal código, y para verificar al autor de cada línea, podemos usar Git, culpar y aquí escribimos nuestra ruta de archivo a la que queremos culpar. Si queremos ver líneas particulares, entonces podemos agregar aquí la opción L, y aquí escribimos la línea inicial coma final número de línea Después de eso, otro comando más utilizado para marcar Git commits es git tag, tag name. Luego escribimos nuestro ID de commit para el que queremos crear esta etiqueta. Si queremos eliminar la etiqueta, entonces usamos la etiqueta Git, D, y aquí escribimos nuestro nombre de etiqueta y para C, la lista de etiquetas, simplemente usamos el comando Git tag. Estos son los comandos importantes relacionados con los conceptos básicos de Git y para ver el historial de commit. 103. Comandos de ramificación y fusión: Ahora, recapitulemos sobre las sucursales. Cuando quieras trabajar en una función separada o simplemente quieres trabajar en tu equipo, entonces debes crear una nueva sucursal y trabajar en esa sucursal. Si queremos ver la lista de todas las ramas, entonces tenemos comando git branch. Y para crear una nueva rama, usamos rama Git y nombre de rama. Después de crear una nueva rama, necesitamos cambiar a esa rama, y podemos hacerlo usando Git switch branch name. Ahora bien, si queremos crear una nueva rama y también queremos cambiar en un solo comando, entonces escribimos Git switch, C, y nombre de rama. Ahora para ver cuáles son las diferencias entre una rama en particular y nuestra rama actual, entonces podemos escribir el nombre de la rama Git Div. Además, podemos ver la diferencia entre dos ramas usando Git, D rama uno, punto punto rama dos. Ahora bien, si estamos trabajando en la rama uno y de pronto tenemos que trabajar en la rama dos, la en lugar de cometer medio código, podemos stass ese código Escaleras es como, mantener ese código en una esquina, entonces podemos cambiar a otra sucursal y completar nuestra o después de eso, podemos aplicar las escaleras en nuestra sucursal anterior. Para crear las escaleras, usamos Git stairs, push, y aquí agregamos mensaje Ss para ver todas las escaleras, usamos Git stats list. Ahora, si queremos aplicar cambios de escaleras en nuestro directorio de trabajo, entonces podemos usar Git, apply y stats ID. Después de aplicar los cambios de esa escalera, podemos dejar esas escaleras usando git stash, drop y stats ID Y si queremos eliminar todas las estancias del proyecto, entonces podemos usar Git clear. Ahora, después de eso, si terminamos con nuestra sucursal, entonces podemos fusionarla con nuestra sucursal principal. Y para eso, podemos cambiar a rama principal, y luego podemos fusionarla usando git merge branch name. Si tenemos historia divergente, entonces Git hará fusión de tres vías, y si tenemos historia lineal, entonces Git hará pasar por nuestra Después de fusionar nuestra sucursal en rama principal, podemos soltar esa rama usando Git branch, D, branch name. Si queremos soltar con fuerza esa rama, entonces podemos usar Git branch, D, branch name Además, podemos restablecer el Kamed a la versión anterior usando git reset En reset, tenemos tres variaciones. Git reset, dash dash soft, Kate, que restablece el código de coat, git reset, dads mixed, que restablece el código de a y de Camt Si usamos Git reset ds hard, entonces nuestro código de área completo se restablece con ese código comite Ahora también podemos revertir el amid y la diferencia entre reset y amid es con revert, Git crea un nuevo met, pero en reset, Git no crea un nuevo Hará cambios en el Camt actual. Para revertir, usamos Git revert y si queremos volver a padre uno, que es el cometa anterior de nuestra rama actual, entonces escribimos aquí uno y después de eso, escribimos Comte, que queremos revertir, que es cabeza Por fin, si quieres copiar un código Comite en nuestro Camt actual sin fusionarlo, entonces podemos usar Git cherry peak Esta es la visión general de ramificación y fusión. 104. Trabaja en comandos de equipo: Ahora recapitulemos sobre trabajar en equipo. En primer lugar, cuando estamos trabajando en equipo, mayoría de los comandos que usamos es git fetch, que se usa para recuperar cambios de todas las ramas de nuestro repositorio en la nube Después de eso, si queremos específicamente obtener cambios de una sola rama, entonces podemos escribir git fetch entonces podemos escribir git fetch Aquí escribimos nuestro nombre remoto origen, que es el nombre remoto y de sucursal más utilizado. Si queremos fetch de master, entonces podemos escribir git fetch origin master o podemos escribir git fetch solamente. Esto va a funcionar igual. Ahora, como sabemos, al usar el comando fetch, solo obtendremos cambios en nuestra historia Nuestro directorio de trabajo permanece igual que antes. Si queremos aplicar directamente esos cambios desde remoto, entonces en el lugar de git fetch, usamos git pull Pero ten en cuenta, va a crear un nuevo commit. Ahora si hemos terminado con nuestros cambios y queremos empujar los cambios a la nube. Tenemos que escribir git push origin, master o main, cualquiera que sea nuestro proyecto. Además, podemos usar aquí el comando de atajo, que es Git push. Ahora también podemos empujar nuestra etiqueta al control remoto usando git push, origin y tag name para eliminar la etiqueta del origen, usamos git push origin, dash delete, tag name. Ahora bien, si creamos una nueva rama y queremos empujar esa rama al origen, entonces tenemos que crear primero la rama upstream. Escribimos git push origin branch name. Después de eso, si de nuevo queremos empujar cambios en esta rama, entonces podemos usar simple push de puerta. Git impulsará los cambios a esa rama, eso se trata de trabajar en equipo. 105. Muchas gracias: Entonces enhorabuena. Acabas completar el curso definitivo de Git y Github. Y solo quiero preguntarte, ¿aprendiste el git? ¿Pude explicar conceptos que te ayudarán a entender a Git? Eso espero de verdad. Y en este video, solo quiero decir, muchas gracias por ver este completarlo y curso de Github. Estoy muy, muy agradecida por eso. Y por favor, si quieres compartir tu opinión sobre este curso, entonces en la parte superior, puedes ver el botón de bating, y por eso, puedes compartir tu reseña Lo que quieras decir, positivo o negativo es realmente importante para mí. Dar esta retroalimentación no tomará más de 10 segundos, pero eso me dará inspiración y motivación para crear más cursos mejores, y también me ayudará a llegar a más estudiantes que quieran aprender Git y Github como tú. Muchas gracias por ver este curso y todo lo mejor en el viaje de tu desarrollador, y espero que todos tus sueños se hagan realidad.