Cómo restaurar GIT a la guía estatal anterior para restaurar, restablecer, revertir y Rebase

Cómo restaurar GIT a la guía estatal anterior para restaurar, restablecer, revertir y Rebase
Si tiene antecedentes de desarrollo, debe tener en cuenta muchas herramientas de desarrollo. Cuando desarrolla individualmente un proyecto a través de cualquier lenguaje de programación, se siente cómodo con una interfaz de línea de comandos (terminal) o herramientas de GUI.

Pero, ¿qué pasa si está trabajando con los miembros del equipo? Es difícil enviar fragmentos de programas a todos los miembros del equipo individualmente. También hay un límite de tamaño de archivos en diferentes plataformas que no permiten al usuario enviar más del tamaño descrito.

Es difícil colaborar cuando el proyecto es demasiado grande y necesita modificación todo el tiempo. Para esto, necesita un sistema de control de versiones distribuido que lo ayude a colaborar con los miembros del equipo de todo el mundo. Es bueno usar un sistema de control de versiones distribuidas para proyectos de software pequeños y grandes. Cada uno de los miembros del equipo tendrá acceso completo al repositorio completo en el sistema local y pueden trabajar sin conexión.

Uno de esos software versátil es Git, y un repositorio maneja de git se conoce como Github, donde puede guardar sus proyectos, y cualquier miembro del equipo accede a él.

Antes de comenzar el Git Introducción, debes saber sobre el Sistema de control de versiones (VCS), como Git es uno de los sistemas de control de versiones distribuidas. Debe tener una idea sobre los VC, especialmente si tiene un fondo de desarrollo de software.

Sistema de control de versiones (VCS)

Mientras realiza el trabajo en equipo, el sistema de control de versiones ayuda a mantener un registro de modificaciones, características y pistas en los proyectos. A través de esto, un equipo puede trabajar a través de la cooperación y también separar sus fragmentos de tareas a través de las ramas. El número de ramas en VCS depende del número de colaboradores y se puede mantener individualmente.

A medida que este sistema de gestión de procesos registra todo el historial de cambios en el repositorio, si algún miembro del equipo cometió errores, puede compararlo con las versiones respaldadas del trabajo y deshacerlo. Esto ayuda a minimizar los errores, ya que tiene la opción de volver al estado anterior.

Otras características notables de VC son:

  • No depende de otros sistemas de repositorio.
  • Puede crear un clon de repositorios para que en caso de falla o bloqueo, no perderá todo el proyecto.
  • Para todos los archivos y documentos, el historial está disponible con tiempo y fecha.
  • Hay un sistema de etiquetas en VCS que ayuda a mostrar la diferencia entre todos los tipos de documentos diferentes.

Tipos de sistema de control de versiones

El VCS se divide en tres tipos:

  1. Sistema de control de versiones locales (VCS)
  2. Sistema de control de versión centralizado (CVC)
  3. Sistema de control de versión distribuido (DVC)

Sistema de control de versiones locales

En el sistema de control de versiones locales, la pista de archivos se mantiene dentro del sistema local; Es simple, pero las posibilidades de falla de los archivos son altas.

Sistema de control de versiones centralizadas

En el sistema de control de versión centralizado, el servidor centralizado realiza un seguimiento de todos los archivos; Tiene un historial completo de las versiones y la información del cliente de todos los archivos si verifican los archivos desde el servidor. Es como un sistema de cliente cliente donde cualquiera puede compartir el servidor y también acceder al trabajo de todos.

Sistema de control de versiones distribuidas

El último es el sistema de control de versiones distribuido que viene para controlar los inconvenientes de los VC centralizados. En este tipo, el cliente puede crear un clon de un repositorio completo que incluya el historial y la pista de archivos. El servidor regresa en caso de falla utilizando la copia del repositorio del cliente como clon se considera como una copia de seguridad completa de los datos. Proyectos de código abierto como Git etc., Use este tipo de sistema de control de versiones.

Que es git?

Git es uno de los software del sistema de control de versiones distribuidas (VCS) que mantiene todo el rastreo de datos. El propósito detrás de desarrollar el Git El software es proporcionar una plataforma de colaboración donde todos los desarrolladores puedan compartir su código fuente durante el desarrollo del proyecto. Otras características importantes de Git son; Proporciona una plataforma de código abierto con un rendimiento de alta velocidad, es compatible, ponderado, confiable, seguro, garantiza la integridad de los datos, administra miles de ramas en diferentes sistemas, etc.

En 2005, Linus Torvalds Decidió crear un nuevo sistema de control de versiones para satisfacer las necesidades de la comunidad y mantener el sistema de núcleo Linux. Con la ayuda de otros desarrolladores de Linux, la estructura inicial de Git fue desarrollado y Junio ​​Hamano fue el mantenedor central desde 2005. Linus Torvalds se desconectó, presentó el sistema revolucionario y lo nombraron Git. Y ahora, un gran número de compañías multinacionales, como Google, Firefox, Microsoft y Startups, usan GIT para sus proyectos de software. Es difícil de identificar Git como un sistema de control de versiones (VCS), Sistema de administración de código fuente (SCM) o sistema de control de revisión (RCS) como se desarrolla con la funcionalidad del trío.

Flujo de trabajo git

Cuando se inicia un proyecto GIT, se divide en tres segmentos:

  1. Directorio git
  2. Árbol de trabajo
  3. Área de ensayo

El Git Directorio se trata de todos los archivos, incluido el historial de cambios. El Árbol de trabajo El segmento posee el estado actual del proyecto y todos los cambios. Y el Área de ensayo le dice al Git ¿Qué posibles cambios en el archivo podrían ocurrir en la próxima confirmación?.

Hay dos posibilidades de estado de archivo presente en un directorio de trabajo:

  1. Sin seguimiento
  2. Rastreado

O un archivo no se debe reemplazar, o se encuentra en un estado rastreado.

Exploremos estos dos:

Estado sin seguimiento

Los archivos que no están agregados pero presentes en el directorio de trabajo estarán en un estado no contratado; Git no los está monitoreando.

Estado rastreado

Los archivos rastreados son aquellos archivos que estuvieron presentes en la última instantánea, y Git tiene una idea sobre ellos.

Cada uno de los archivos rastreados puede residir en uno de los subestados mencionados:

  1. Comprometido
  2. Modificado
  3. Escenificado

Comprometido

Este estado del archivo significa que todos los datos del archivo se almacenan en la base de datos local de manera segura.

Modificado

Un archivo cambia su estado desde Comprometido a Modificado Cuando se han realizado cambios en el archivo. Podría haber cualquier tipo de cambios como eliminar contenido, actualizar o agregar cualquier cosa. Simplemente, este estado significa cambios que aún no se han cometido.

Escenificado

El estado escenificado incluía dos tipos de archivos: archivos modificados o archivos no seguidos (archivos recién creados). Cuando se terminan todas las modificaciones de un archivo, se transfiere al estado escenificado.

Cómo instalar git en ubuntu

No necesita permiso de sudo para instalar Git en Ubuntu; se puede descargar con o sin usuario root.

Para verificar si Git ya está instalado en su dispositivo o no, ejecute el comando dado:

$ git --versión

Si está presente en su sistema, obtendrá un Git versión. Como no está presente en mi sistema; Para instalar, ejecute el comando dado:

$ sudo apt install git

Ahora, ejecute el comando de versión nuevamente para verificar si está instalado correctamente:

$ git --versión

Configuración de Git

Después del proceso de instalación, el siguiente paso es configurar el Git Configurar para que pueda comenzar con el Git software.

Para la configuración, debe ingresar su nombre y dirección de correo electrónico a través del "configuración git" dominio.

Primero, debe ingresar su nombre de usuario para configurar el sistema GIT; Escriba el comando mencionado para esto:

$ git config -usuario global.Nombre "Wardah"

Ahora, configure la dirección de correo electrónico a través del siguiente comando:

$ git config -usuario global.correo electrónico "[email protected] "

Cuando establece credenciales para el Git Aplicación, se almacenará en el archivo de configuración de GIT "./gitconfig "; Puede editar información utilizando cualquier editor de texto como Nano, etc.

El comando utilizado para este propósito es:

$ nano ~/.gitconfig

Si desea editar información como nombre o correo electrónico, hágalo en el editor y presione "CTRL+X"Y luego presiona "Y/Y"; guardará las modificaciones y la salida del editor.

Guía completa para restaurar, restablecer, revertir y rebase

Cuando trabaja con la aplicación GIT, enfrenta desafíos en los que necesita regresar a cualquiera de las comodidades anteriores. Es uno de los aspectos de git menos conocidos, ya que muchos de nosotros no sabemos lo fácil que es volver al último estado de la comisión.

Es bastante fácil deshacer cambios significativos en el repositorio si sabe la diferencia entre los términos "Restaurar","Revertir","Reiniciar", y "Rebase". Para realizar la función requerida (de vuelta al estado anterior), debe conocer sus diferencias.

Este artículo cubrirá cuatro aspectos principales de Git:

  1. Restauración de git
  2. Reinicio de git
  3. Git revertir
  4. Git Rebase

Explíquemos todos por separado para que pueda comprender mejor:

Restauración de git

La operación de restauración de git ayuda a restaurar el contenido del índice de puesta en escena o cualquier compromiso en el directorio de trabajo. No actualizará la rama, sino que cambia el historial de confirmación al restaurar los archivos de otros compromisos. Especificó las rutas en el árbol de trabajo; Estas rutas ayudan a encontrar el contenido mientras se restauran.

La restauración usa algunos comandos para recuperar el contenido, si encuentra el "escenificado"Comando, significa que los archivos se restauran desde el Cabeza o índice; Para restaurar los archivos de otros compromisos, use el "-fuente"Comando, y si desea restaurar tanto el" árbol de trabajo "como el índice, puede hacerlo a través de"-escenificado" y "-pañuelo de trabajo"Comandos.

Para restaurar las modificaciones recientemente realizadas, siga la sintaxis mencionada a continuación:

git restaurar [nombre de archivo]

Por ejemplo, ha agregado un archivo con el nombre de "My_git.TXT" Usando el comando mencionado a continuación:

$ git agregar my_git.TXT

Para verificar si el archivo existe o no, se utilizaría el comando dado:

Estado de $ git

Ahora, eliminemos este archivo usando:

$ rm -f my_git.TXT

Vuelva a verificar el estado:

Estado de $ git

Como se puede ver que el archivo ha sido eliminado. Ahora, para restaurarlo, use:

$ git restaurar my_git.TXT

Verifique el estado nuevamente:

Estado de $ git

El archivo ha sido restaurado. El "escenificado" La bandera se usa para restaurar un archivo en particular del GIT agregado anteriormente, por lo que para hacerlo, siga la sintaxis dada:

Restauración de git - -Efectado [nombre de archivo]

Para restaurar múltiples archivos desde el área de puesta en escena, debe usar caracteres comodín con el nombre de archivo; como:

Restauración de git - -Efected *[nombre de archivo]

Para restaurar las modificaciones locales no comprometidas, la misma sintaxis se seguiría como lo hicimos anteriormente, pero elimine el ""-escenificado"Bandera desde el comando.

Recuerda que estas modificaciones no se pueden deshacer.

git restaurar [nombre de archivo]

En el directorio de trabajo actual, todos los archivos actuales se pueden restaurar a través de la siguiente sintaxis:

Restauración de git .

Reinicio de git

Puedes considerar Reinicio de git Como característica de retroceso porque se usa para deshacer modificaciones. Cuando usa la función RESET GIT, devolverá su entorno actual a la confirmación anterior. Este entorno de trabajo podría ser cualquier estado como el directorio de trabajo, el área de puesta en escena o el almacén local.

Hemos explicado el Área de ensayo y Directorio de trabajo; En la función de reinicio, el Cabeza es un puntero hacia una nueva rama o rama actual. Siempre que cambie del anterior, se refiere a la nueva rama. Es una referencia de la rama anterior hacia más, por lo que puede considerarse la acción del padre.

Para ejecutar el comando RESET GIT, se le ofrecen tres modos diferentes de GIT; Suave, Mezclado, y Duro. Cuando ejecute el comando de restablecimiento git, usará mezclado Modo por defecto.

Si nos mudamos al Git reiniciar duro, Punta la cabeza a la confirmación especificada y elimina todos los compromisos después de la confirmación en particular. Cuando usa el comando RESET HARD, actualiza el directorio de trabajo y el área de puesta en escena y cambia el historial de confirmación. El RESET GIT SOFT SOFT restablece los punteros de referencia y los actualiza; Cuando pasamos -suave argumento, no toca el directorio de trabajo y el área de puesta en escena y restablece el historial de confirmación. El RESET GIT MEZCLADO es el modo predeterminado de git; Cuando lo ejecuta, se actualizan los punteros de referencia y envía los cambios sin hacer del índice de puesta en escena al directorio de trabajo para completarlos.

Para restablecer (deshacer) todas las modificaciones que ha realizado en la última confirmación, se utilizaría el siguiente comando:

$ git rein

Desechará todos los cambios que ocurren en la última confirmación. Y por dos compromisos antes "CABEZA":

$ git reinicio -cabeza -hard ~ 2

El comando anterior apenas se usa porque todo, incluido el historial de confirmación, se actualizará a una confirmación específica. Además, el índice de puesta en escena y el directorio de trabajo también se restablecerán a esa confirmación específica. Puede perder datos cruciales que estuvieran pendientes en el índice de estadificación y el directorio de trabajo. Para evitar eso, use "-soff" en lugar de duro.

RESET $ GIT -Cabeza suave

El comando anterior no alterará el Índice de Directorio de trabajo y en preparación. Usemos la opción "Restablecer" para desico de un archivo:

En primer lugar, cree un archivo y agréguelo a cualquier rama usando:

$ git agregar índice.html

El comando anterior es agregar un "índice.html " Archivo a la rama maestra. Para verificar el estado:

Estado de $ git

Para desico el archivo "índice.html ", usar:

Índice de reinicio de $ git.html

Git revertir

Git revertir la operación es bastante similar a la Reinicio de git dominio; La única diferencia es que necesita un nuevo compromiso para volver a la confirmación específica mientras realiza esta operación. El comando Revert se usa para cancelar los cambios que ocurren después de ejecutar el comando reinicio. Para esto, no eliminará ningún dato; Simplemente agregue una nueva confirmación al final que cancelará la modificación en el repositorio.

Para revertir en la confirmación, mencione el hash con la opción Revertir:

git revert [commit_ref]

El comando Git Revert necesita una referencia, lo que significa que el comando no funcionará. Usemos "CABEZA" Como referencia de compromiso.

$ Git Revert Head

El comando mencionado anteriormente revertirá la última confirmación.

Git Rebase

El Git Rebase se usa para fusionar o combinar la secuencia de compromisos en la nueva base. Es el proceso de integrar cambios y los transfiere de una rama a otra (una base a otra). Es una alternativa al "unir"Comando pero de alguna manera diferente de él, y por lo tanto podría confundirnos porque ambos son similares. El "unir"El comando se usa para combinar la historia de los confirmaciones y mantener el registro tal como sucedió, mientras que los comandos de Rebase reescriben o vuelven a aplicar la historia de las comodidades en la parte superior de otra rama.

Demostremos el concepto de opción Rebase a través de un ejemplo:

En la historia anterior, "características"Es una rama con"B"Como su base. Use el siguiente comando para fusionar el "características" rama después de la confirmación final:

Git Rebase [commit_ref]

La referencia de confirmación podría ser como una rama, identificación o etiqueta. Por ejemplo, para rebotar el "características" rama al maestro, que es "D", Use el comando a continuación:

$ git de pago características $ git Rebase Master

Cuando ejecuta este comando, el "características" Branch se agregará al maestro, que es una nueva base:

Conclusión

En la gestión de la configuración del software, Control de versiones es un componente crucial para administrar los cambios en la documentación, programas o proyectos de software. Estos cambios se identifican numéricamente y tienen derecho "revisión". Supongamos que la primera versión se establece como "Revisión 1". Cuando cualquier miembro del equipo cambia el proyecto, lo guardará como "Revisión 2" con la marca de tiempo y la persona preocupada que hizo modificaciones.

El sistema de control de versiones se divide en tres categorías VCE locales, VC centralizados y VC distribuidos. Uno de los ejemplos de VC distribuidos es Git, Software de código abierto que ayuda a administrar todos los registros de un proyecto de desarrollo. Proporciona una plataforma de colaboración ligera con alto rendimiento y administra varias ramas en diferentes sistemas.

Siempre que comience con un proyecto en el sistema GIT, el flujo de trabajo GIT ayuda a administrarlo de manera efectiva y consistente; se divide en tres segmentos: git Directorio, Árbol de trabajo, y Área de ensayo.

El proyecto en el que está trabajando está en un estado sin seguimiento o rastreado estado. El archivo sin seguimiento se considera un archivo nuevo que no era parte del directorio de trabajo antes, mientras que los archivos rastreados son parte de las últimas instantáneas y se clasifican aún más en Comprometido, Modificado, y Escenificado estados.

A comprometido Estado significa que los datos de archivos se almacenan en una base de datos local; Cada vez que realiza algún cambio en el archivo, se transfiere al estado modificado. El Escenificado El estado incluye archivos modificados y archivos recién creados; Cuando se terminan todas las modificaciones de un archivo, se transfiere al estado escenificado.

Este artículo está demostrando cómo puede instalar y configurar el sistema GIT en Ubuntu 20.04.

Después de eso, discutimos cómo restaurar, Rebase, Revertir y restablecer las operaciones de GIT mientras realizan un proyecto. El Restauración de git La función se usa para restaurar el contenido de los compromisos en el directorio de trabajo. Siempre que realice un comando de restauración, cambiará el historial de confirmación y especificará las rutas.

El Reiniciar, O podemos decir que la función de reversión ayuda a deshacer modificaciones en el Repositorio de git y devolverá el entorno actual a la confirmación anterior.

Git revertir la operación es bastante similar a la Reinicio de git dominio; La única diferencia es que necesita un nuevo compromiso para volver a la confirmación específica mientras realiza esta operación.

Y el último es el Git Rebase que se utiliza para fusionar o combinar la secuencia de compromisos en el repositorio. Es diferente del comando fusionar como el "unir"El comando se usa para combinar la historia y mantener el registro como sucedió, mientras que"rebaseLos comandos reescriben o vuelven a aplicar la historia de los compromisos en la parte superior de otra rama.

El artículo le ha mostrado cómo puede realizar estas operaciones mientras usa el software GIT en Linux.