
Entradas requeridas:
- Lea, siga y comprenda mi artículo sobre Git . Esto ayudará a garantizar que todo esté configurado y listo para funcionar.
- Instale IntelliJ IDEA.
- Asignar una hora de tiempo personal para lograr el dominio completo.
Clonar el proyecto localmente
Aquí hay dos opciones:- Si ya tiene una cuenta de GitHub y desea impulsar algo más adelante, es mejor bifurcar el proyecto y clonar su propia copia.
- Clone mi repositorio y haga todo localmente sin la capacidad de enviar todo al servidor. Después de todo, este es mi repositorio :)
-
Copie la dirección del proyecto:
-
Abra IntelliJ IDEA y seleccione "Obtener del control de versiones":
-
Copie y pegue la dirección del proyecto:
-
Se le pedirá que cree un proyecto IntelliJ IDEA. Acepto la oferta:
-
Dado que no hay un sistema de compilación y eso está más allá del alcance de este artículo, seleccionamos Crear proyecto a partir de fuentes existentes :
-
A continuación, verá esta hermosa pantalla:
ahora que descubrimos la clonación, puede echar un vistazo.
Primer vistazo a IntelliJ IDEA como una interfaz de usuario de Git
Eche un vistazo más de cerca al proyecto clonado: ya puede obtener mucha información sobre el sistema de control de versiones. Primero, tenemos el panel Control de versiones en la esquina inferior izquierda. Aquí puede encontrar todos los cambios locales y obtener una lista de confirmaciones (análoga a "git log"). Pasemos a una discusión de Log . Hay una cierta visualización que nos ayuda a entender exactamente cómo ha procedido el desarrollo. Por ejemplo, puede ver que se creó una nueva rama con un encabezado agregado a la confirmación de txt, que luego se fusionó con la rama principal. Si hace clic en un compromiso, puede ver en la esquina derecha toda la información sobre el compromiso: todos sus cambios y metadatos.



Trabajando con un repositorio
Teclas de acceso rápido útiles
Para el trabajo futuro, debe recordar algunas teclas de acceso rápido muy útiles:- CTRL+T : obtenga los últimos cambios del repositorio remoto (git pull).
- CTRL+K — Crear una confirmación/ver todos los cambios actuales. Esto incluye archivos sin seguimiento y modificados (consulte mi artículo sobre git, que explica esto) (confirmación de git).
- CTRL+SHIFT+K : este es el comando para enviar cambios al repositorio remoto. Todas las confirmaciones creadas localmente y que aún no están en el repositorio remoto se enviarán (git push).
- ALT+CTRL+Z : revierte los cambios en un archivo específico al estado de la última confirmación creada en el repositorio local. Si selecciona todo el proyecto en la esquina superior izquierda, puede revertir los cambios en todos los archivos.

¿Qué queremos?
Para hacer el trabajo, necesitamos dominar un escenario básico que se usa en todas partes. El objetivo es implementar una nueva funcionalidad en una rama separada y luego enviarla a un repositorio remoto (entonces también necesita crear una solicitud de extracción para la rama principal, pero eso está más allá del alcance de este artículo). ¿Qué se requiere para hacer esto?-
Obtenga todos los cambios actuales en la rama principal (por ejemplo, "maestro").
-
Desde esta rama principal, cree una rama separada para su trabajo.
-
Implementar la nueva funcionalidad.
-
Vaya a la sucursal principal y verifique si ha habido algún cambio nuevo mientras estábamos trabajando. Si no, entonces todo está bien. Pero si hubo cambios, hacemos lo siguiente: vamos a la rama de trabajo y rebase los cambios de la rama principal a la nuestra. Si todo va bien, entonces genial. Pero es muy posible que haya conflictos. Da la casualidad de que solo se pueden resolver de antemano, sin perder tiempo en el repositorio remoto.
¿Te preguntas por qué deberías hacer esto? Es de buena educación y evita que ocurran conflictos después de enviar su rama al repositorio local (existe, por supuesto, la posibilidad de que aún ocurran conflictos, pero se vuelve mucho más pequeño ).
- Empuje sus cambios al repositorio remoto.
¿Obtener cambios del servidor remoto?
Agregué una descripción al LÉAME con una nueva confirmación y quiero obtener estos cambios. Si se realizaron cambios tanto en el repositorio local como en el remoto, se nos invita a elegir entre una fusión y una reorganización. Elegimos fusionarnos. Ingrese CTRL+T :

Crear una nueva rama basada en el maestro
Todo es simple aquí.-
Vaya a la esquina inferior derecha y haga clic en Git: master . Seleccione + Nueva Sucursal .
Deje seleccionada la casilla de verificación Sucursal de Checkout e ingrese el nombre de la nueva sucursal. Para mí, será readme-improver .

Git: master luego cambiará a Git: readme-improver .
Simulemos trabajo paralelo
Para que aparezcan los conflictos, alguien tiene que crearlos :D Editaré el README con un nuevo commit a través del navegador, simulando así un trabajo paralelo. Es como si alguien hiciera cambios en el mismo archivo mientras yo estaba trabajando en él. El resultado será un conflicto. Eliminaré la palabra "completamente" de la línea 10.Implementar nuestra funcionalidad
Nuestra tarea es cambiar el README y agregar una descripción al nuevo artículo. Es decir, el trabajo en Git pasa por IntelliJ IDEA. Agrega esto:


Comprobar si la rama principal ha cambiado
Completamos nuestra tarea. Funciona. Escribimos pruebas. Todo esta bien. Pero antes de enviar al servidor, aún debemos verificar si hubo algún cambio en la rama principal mientras tanto. ¿Cómo pudo pasar eso? Bastante fácil: alguien recibe una tarea después de ti, y ese alguien la termina más rápido de lo que tú terminas tu tarea. Así que tenemos que ir a la rama maestra. Para hacer esto, debemos hacer lo que se muestra en la esquina inferior derecha de la captura de pantalla a continuación:



- acepte el suyo: acepte solo los cambios de readme-improver.
- acepte los suyos: acepte solo los cambios del maestro.
- fusionar: elija usted mismo lo que desea conservar y lo que descarta.

- Estos son los cambios de readme-improver.
- El resultado combinado. Por ahora, es lo que existía antes de los cambios.
- Los cambios de la rama maestra.

Empuje los cambios al servidor remoto
El siguiente paso es enviar los cambios al servidor remoto y crear una solicitud de extracción. Para hacer esto, simplemente presione CTRL+SHIFT+K . Luego obtenemos:

parte de bonificación
Al principio, no quería agregar la creación de una solicitud de extracción a este artículo, pero no estaría completo sin ella. Entonces, vayamos a un repositorio de GitHub (uno que sea tuyo, por supuesto :)) y vemos que GitHub ya sabe lo que queremos:

GO TO FULL VERSION