En el artículo anterior , aprendimos cómo usar GIT básico. En este artículo intentaremos aprender algunos conceptos más básicos como la ramificación y la fusión.
ALGUNOS COMANDOS BÁSICOS MÁS:
Algunos de los comandos muy útiles al usar git son:
Escriba esto en la terminal y verá un montón de comandos GIT de uso común con su uso. Para conocer un comando en detalle, puede escribir ‘git help <comando>’.
Este es uno de los comandos más útiles de GIT. Si, en algún momento, desea conocer su rama actual o los cambios en los archivos que no están preparados para confirmación o archivos sin seguimiento , escriba este comando.
Aquí, la sucursal es maestra y todo está actualizado. Hagamos algunos cambios en el archivo y luego usemos este comando nuevamente.
Hay cambios que no están preparados para la confirmación en el archivo helloworld.c y tenemos la opción de agregar estos cambios en la confirmación final o descartar los cambios en la confirmación final. Podemos agregarlos con el git add. (como se discutió anteriormente) y descarte los cambios en el archivo con el comando git checkout — helloworld.c (NOTA: hay un espacio entre ‘–’ y ‘helloworld.c’)
Con este comando se pueden ver los registros de confirmación con la fecha, la hora, el nombre del autor y las notas de confirmación. Este comando es muy útil en un grupo de desarrolladores que trabajan en el mismo proyecto.
Como se discutió anteriormente, debemos agregar los archivos a la lista mientras lo confirmaríamos más tarde. Podemos agregar los archivos con la ayuda de git add. o git add helloworld.c Pero, digamos que queremos agregar solo un grupo específico de archivos con extensiones similares. Digamos todos los archivos que terminan en .txt. Entonces podemos hacerlo con el comando git add *.txt . Esto agregaría solo los archivos que terminan en .txt.
Ahora, si queremos ignorar un grupo específico de archivos con extensiones similares (.txt, .cpp, etc.), también podemos hacerlo con git. Por ejemplo, supongamos que queremos ignorar los archivos .c~ que podemos ver (helloworld.c~). Creé otro archivo llamado newfile.c para que haya otro archivo .c~ que sería ignorado. Tenemos que seguir dos sencillos pasos:
- Necesitamos hacer un archivo donde almacenaríamos todas las extensiones para ser ignoradas. Podemos crear un archivo de este tipo escribiendo touch .gitignore en la terminal y luego abrirlo con un editor de texto.
- Escriba todas las extensiones de los archivos que desea ignorar. Aquí, quiero ignorar todos los archivos .c~ y el
Podemos ver el archivo newfile.c~ escribiendo el comando ls pero cuando verificamos el estado (git status), podemos ver solo dos archivos sin seguimiento (.gitignore y newfile.c). Tenga en cuenta que no hay un archivo newfile.c~, lo que significa que se ha ignorado correctamente. Ahora podemos agregar los archivos sin seguimiento y luego confirmar como lo hemos estado haciendo anteriormente.
RAMIFICACIÓN Y FUSIÓN
La ramificación le permite trabajar en una copia del código en la línea principal sin afectar realmente el directorio de la línea principal. Por ejemplo, digamos que si desea trabajar en un nuevo módulo del proyecto, puede elegir una nueva rama en la que trabajará. Todos los demás pueden trabajar en el mismo proyecto trabajando en sus ramas sin verse afectados por su trabajo. Cuando haya terminado, puede fusionar todo su trabajo nuevamente en la rama principal. Algunos comandos importantes utilizados para bifurcar y fusionar son:
Esto enumera todas las sucursales locales de su cuenta. Si no ha creado una rama, entonces es por defecto la rama principal.
- Esto crea una nueva rama que comienza en algún punto de la historia como la rama actual. Tenga en cuenta que no la convierte en la rama de trabajo actual, por lo que debemos cambiarla manualmente con el comando git checkout NewBranchName
Ahora, si ejecutamos el comando git status, también mostrará que la rama actual es newmodule.
Si en esta rama hicimos algunos cambios en el archivo aboutme.txt y luego queremos fusionar los dos archivos aboutme.txt (en la rama: newmodule) y aboutme.txt (en la rama: master). Para la fusión, debe asegurarse de que la sucursal actual sea su sucursal de destino. Aquí, la rama de destino sería la rama principal. Entonces, cambiaríamos nuestra rama actual de newmodule a master por git checkout master y luego los fusionaría.
Esto fusionaría la rama especificada (SourceBranchName) en la rama actual y confirmaría automáticamente los resultados.
Aquí, hicimos algunos cambios en el archivo aboutme.txt en la rama: newmodule
Ahora, después de organizar y confirmar los cambios en la rama newmodule, cambiamos la rama actual a master por git checkout master y abrimos aboutme.txt.
Tenga en cuenta que este archivo aboutme.txt no se actualiza con la segunda línea como en branch: newmodule
Ahora, usaríamos el comando git merge newmodule para fusionar ambas ramas. Ahora, al abrir aboutme.txt, vemos que el archivo también se actualiza con la segunda línea.
Esto funcionaría bastante bien, pero en la mayoría de los casos nos encontraremos con conflictos de combinación, incluso en los casos más simples. Puede imaginarse lo complejo que puede volverse esto mientras se trabaja en proyectos de la vida real. Pero cada vez que nos encontramos con un conflicto de combinación, podemos iniciar una herramienta de combinación que puede ayudar a solucionar un conflicto de una manera mucho más fácil. Meld es una herramienta de combinación disponible en el centro de software de Ubuntu. También puede instalarlo usando la línea de comandos en Ubuntu , Windows y Mac.
Artículo de Harshit Gupta :
Harshit Gupta, con sede en Calcuta, es un bloguero activo que tiene un gran interés en escribir sobre temas de actualidad, blogs técnicos, historias y experiencias de vida personal. Además de ser un apasionado de la escritura, también le encanta programar y bailar. Actualmente estudia en el IIEST y es colaborador activo del blog geeksforgeeks. Puede comunicarse con él en https://in.linkedin.com/pub/harshit-gupta/102/b71/605
Si también desea exhibir su blog aquí, consulte GBlog para escribir un blog invitado en GeeksforGeeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA