Notas introductorias necesarias:
- Lea, repita y comprenda el artículo sobre git . Esto ayudará a garantizar que todo esté configurado y listo para funcionar.
- Instale Intellij IDEA.
- Reserve una hora de tiempo personal para una absorción completa.
Clonar el proyecto localmente
Aquí hay dos opciones.- Si ya tienes una cuenta de Github y quieres impulsar algo más adelante, es mejor que bifurques el proyecto y clones tu copia. Cómo hacer una bifurcación: describí en este artículo en el capítulo un ejemplo del flujo de trabajo de bifurcación .
- Clonar desde mi repositorio y hacer todo localmente sin la capacidad de enviar todo al servidor. Después de todo, este será 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. Aceptamos la oferta:
-
Dado que no existe un sistema de compilación y este no es el alcance del artículo, seleccione Crear proyecto a partir de fuentes existentes :
-
A continuación habrá un óleo como este:
Hemos resuelto la clonación, ahora podemos mirar a nuestro alrededor.
Primer vistazo a Intellij IDEA como una interfaz de usuario de Git
Mire de nuevo de cerca el proyecto clonado: allí puede obtener mucha información sobre el sistema de control de versiones. El primero es el panel de control de versiones en la esquina inferior izquierda. En él puede encontrar todos los cambios locales y obtener una lista de confirmaciones (análoga a git log). Pasemos a la conferencia de Registro . Hay un cierto componente visual que ayuda a comprender exactamente cómo fue el proceso de desarrollo. Por ejemplo, puede ver que se creó una nueva rama con un encabezado de confirmación agregado a txt , que luego se fusionó con la rama maestra. Si haces clic en un commit, en la esquina derecha podrás ver toda la información sobre el commit: todos los cambios y sus metadatos.



Trabajar con el repositorio
Teclas de acceso rápido útiles
Para seguir trabajando, es necesario recordar algunas teclas de acceso rápido muy útiles:- Ctrl + T : obtiene los últimos cambios desde un repositorio remoto (git pull).
- Ctrl + K : confirmar/ver todos los cambios que están disponibles actualmente. Esto incluye archivos modificados y sin seguimiento (consulte mi artículo sobre git, esto se describe allí) (git commit).
- Ctrl + Shift + K es un comando para enviar cambios a un repositorio remoto. Todas las confirmaciones que se crearon localmente y que aún no están en el control remoto se ofrecerán para envío (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 trabajar, necesitamos dominar el script básico, que se usa en todas partes. La tarea es implementar una nueva funcionalidad en una rama separada y enviarla a un repositorio remoto (luego debe crear otra solicitud de extracción para la rama principal, pero esto está más allá del alcance de nuestro artículo). ¿Que necesito hacer?-
Obtenga todos los cambios actualmente en la rama principal (maestra, por ejemplo).
-
Basado en este principal, crea uno separado para tu trabajo.
-
Implementar nueva funcionalidad.
-
Vaya a la rama principal y verifique si hubo algún cambio nuevo mientras trabajaba. Si no fue así, entonces todo está bien, y si lo fue, entonces hacemos lo siguiente: vamos a la rama de trabajo y rebase los cambios de la rama principal a la nuestra. Si todo salió bien, entonces genial. Pero es muy posible que haya conflictos. Y se pueden solucionar con antelación sin perder tiempo en un repositorio remoto.
Al parecer, ¿por qué hacer esto? Esta es una regla de buena forma, que evita que surjan conflictos después de enviar su sucursal al repositorio local (existe, por supuesto, la posibilidad de que aún existan, pero se vuelve mucho menor).
- Envíe sus cambios a un repositorio remoto.
¿Recibir cambios desde un servidor remoto?
Agregué una descripción al archivo README con una nueva confirmación y deseo recibir estos cambios. Se ofrece la posibilidad de elegir entre fusionar y reorganizar si se realizaron cambios tanto en el repositorio local como en el remoto. Seleccione una combinación. Ingrese Ctrl + T :

Crear una nueva rama basada en master
Aquí todo es sencillo.-
Vaya a la esquina inferior derecha y haga clic en Git: master , seleccione + New Branch .
Deje la casilla de verificación de la sucursal de Checkout y escriba el nombre de la nueva sucursal. Para mí sería readme-mejorador .

Después de esto, Git: master cambiará a Git: readme-improver .
Simulando trabajo paralelo
Para que aparezcan conflictos alguien debe crearlos :D Editaré el README con un nuevo commit a través del navegador y así simular trabajo paralelo. Dicen que alguien, durante mi trabajo, realizó cambios en el mismo archivo que yo, lo que generará un conflicto. Eliminaré la palabra “completamente” de la línea 10.Implementa tu funcionalidad
La tarea es cambiar el README y agregar una descripción al nuevo artículo, es decir, el trabajo en git se realiza a través de Intellij IDEA. Agregue esto:


Compruebe si la rama maestra ha cambiado
Completamos la tarea, funciona, escribimos las pruebas, todo está bien. Pero antes de enviar al servidor, debe verificar si ha habido algún cambio en la rama principal durante este tiempo. ¿Cómo pudo pasar esto? Es muy simple: a alguien se le asignó una tarea después de ti y ese alguien la hizo más rápido que tú. Por tanto, pasamos a la rama master. Para hacer esto, debe hacer en la esquina inferior derecha lo que se muestra en la siguiente figura:



- acepte el suyo: acepte solo los cambios del archivo readme-improver.
- acepte el suyo: acepte solo cambios del maestro.
- fusionar: elija usted mismo qué conservar y qué eliminar.

- Estos son cambios del readme-mejorador.
- Resultado. Por ahora es igual que antes de los cambios.
- Cambios desde la rama maestra.

Enviar cambios a un 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 , después de lo cual obtenemos:

parte extra
Inicialmente no quería agregar la creación de una solicitud de extracción al artículo, pero resulta que no está muy completo debido a esto. Por tanto, vamos al repositorio de GitHub (si es el tuyo, claro)))) y vemos que GitHub ya sabe qué ofrecernos:

GO TO FULL VERSION