GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo:¿Qué es Git y Github? ¿Cómo lo uso y por qué debería importarme?

Git fue creado por Linus Torvalds en 2005, originalmente como un software de control de versiones para permitir que los colaboradores carguen mejor el código en el kernel de Linux. Git es un sistema de control de versiones. A veces se denomina sistema SCM (gestión de control de código fuente).

Desde entonces, su uso ha superado con creces el ecosistema de Linux y lo utilizan millones de desarrolladores de software en todo el mundo (el 42,9 % de todos los desarrolladores de software lo utilizan sobre cualquier otro sistema de control de versiones). No es solo para desarrolladores de software, Joe's regulares que desean compartir o almacenar cosas, por ejemplo, archivos de configuración o sitios web. Git les permite tener un lugar donde pueden almacenar (y, lo que es más importante, colaborar o fusionar ) su contenido.

¿Qué hace exactamente, en términos sencillos?

Aquí hay dos razones principales por las que querrías usar Git:

  • Colaboración :desea colaborar en algunos archivos; por ejemplo, un desarrollador escribe una línea de código y otro desarrollador escribe dos líneas de código. Esto se puede 'combinar' con una copia de seguridad en el 'servidor git', de modo que se convierta en un solo archivo.
  • Control/seguimiento de versiones :desea poder realizar un seguimiento de los cambios que han realizado los otros colaboradores. La capacidad de seguimiento le permitirá ver si hay errores que deben revertirse.

Otra razón es que si tiene un trabajo que involucra el desarrollo de aplicaciones de alguna manera (por ejemplo, si es programador o administrador de sistemas que necesita hacer revisiones de sus datos de gestión de configuración, o simplemente clonar el código de los desarrolladores). ) – el uso de Git es el sistema de control de versiones generalmente aceptado en estos días. No saber cómo usarlo probablemente lo pondrá en desventaja profesional.

Git frente a Github

Un servidor Git  Se puede instalar en cualquier servidor Linux. Acceder generalmente requiere el uso de git cliente , que es una herramienta de línea de comandos. Más sobre eso en la siguiente sección.

Github es un servicio Git público basado en web ampliamente utilizado para que las personas trabajen en proyectos a través de Internet. No está afiliado a Linus Torvalds ni a ninguna de las personas del proyecto git, es una adaptación basada en web de un servidor git. Aprovecha todos los componentes principales de git y ofrece una mayor extensibilidad a través de su interfaz web. El principal beneficio de github es que es un repositorio público de git al que aún puede conectarse a través del cliente de git habitual. Github también ofrece servicios de repositorio privado, sin embargo, estos son de pago.

También hay disponibles otros productos comerciales que implementan parte o la totalidad del servicio de git, como Atlassian Bitbucket.

Terminología y comandos importantes

El comando del cliente git se ingresa en la terminal y tiene varias opciones. Descubrirá que git probablemente ya esté instalado en su máquina Linux. Si no es así, es seguro esperar que sea solo una instalación apt-get o yum.

Los más pertinentes de ellos se enumeran a continuación. Tenga esto a mano, ya que será útil como hoja de trucos mientras empiezas con Git:

Terminología

Alguna terminología que necesitará comprender es:

    • Solicitudes de extracción:cuando un equipo está trabajando en cambios de código, se utiliza una solicitud de extracción para señalar al mantenedor del repositorio que fusione un nuevo cambio.
    • Sucursal:una sucursal es simplemente una copia de un repositorio existente. De forma predeterminada, cada repositorio comienza con un 'Maestro ' sucursal. El maestro es el nombre de la rama principal.
      • La rama principal no suele ser la rama de trabajo, a menudo se usa como rama cuando todos los desarrolladores han completado (comprometido) su código. Luego se fusiona con él al final del día desde otras ramas en funcionamiento.
    • Fork:un fork es una copia duplicada del repositorio de alguien. Le permite realizar los cambios que desee en el código sin afectar el proyecto/repositorio original. Se utiliza para crear una nueva aplicación a partir del código base original o como un borrador de trabajo para permitir que un desarrollador proponga cambios en el proyecto.
    • Estadio:cuando se agrega un archivo (con git add) se dice que está preparado o en proceso de preparación. Cuando confirma el cambio, ya no se organiza.
      • La preparación se lleva a cabo en su máquina local, no en un repositorio remoto.
      • En un ejemplo práctico, digamos que tiene un montón de archivos que están en un repositorio remoto

Ver también

La página de manual incorporada llamada 'gittutorial' es un tutorial bien escrito que lo guiará a través de los entresijos del uso de Git. Para verlo, ingrese el siguiente comando:

man 7 gittutorial

Se recomiendan los siguientes enlaces web:

      • Tutorial interactivo (trygit)
      • Sitio web oficial
      • sitio web de github

Linux
  1. ¿Qué es un comando Chown en Linux y cómo usarlo?

  2. ¿Qué es un comando cURL y cómo usarlo?

  3. Redis como caché:cómo funciona y por qué usarlo

  4. ¿Cuándo y por qué debo usar Apt-get Update?

  5. ¿Por qué se debe evitar eval en Bash y qué debo usar en su lugar?

Cómo instalar y usar Git en el sistema Linux

¿Qué es el repositorio de usuarios de Arch (AUR)? ¿Cómo usar AUR en Arch y Manjaro Linux?

¿Qué son los contenedores multicuenta de Firefox? ¿Por qué y cómo usarlo?

¿Qué es EasyApache y cómo lo uso?

¿Qué es la función de la comunidad ONLYOFFICE y por qué debería usarla?

Cómo instalar y usar Git en Ubuntu 18.04

    Comando Descripción
    clonar

    Hace una copia de un repositorio git.

    Por ejemplo, siempre que descargue cosas de un sitio github/git (repositorio), estará usando clone .
    por ejemplo:git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git

    iniciar Inicializa un repositorio Git vacío en el directorio actual.
    por ejemplo:git init /home/mycode
    estado

    Muestra el estado del repositorio.

    Harás esto a menudo, para que puedas rastrear cualquier cambio en el repositorio.
    por ejemplo:git status

    añadir

    Agrega archivo(s) a un área de preparación, para que los cambios se puedan rastrear localmente.

    Le dice a git que comience a rastrear los cambios para el archivo que especifique. Tenga en cuenta que esto no los envía a la rama, está en un área de preparación local, por ejemplo:

    git add <filename>

    Para agregar varios archivos/directorios, necesita paréntesis alrededor de comodines para que git obtenga la lista de archivos antes de que el shell opere en el comodín. Este ejemplo agrega cada archivo .jpg en todos los directorios debajo del directorio actual (incluido el directorio actual):

    git add '*.jpg'

    compromiso

    Confirmar un cambio por etapas (agregado).

    Confirmar un cambio significa "todos estos agregados Lo he hecho, sácalos del área de preparación y guárdalos en mi repositorio” . Es obligatorio comprometerse con un mensaje. El mensaje debe describir para qué es la confirmación, por ejemplo, podría decir que ha agregado algunos jpegs de gatos.
    git commit -m "info about this commit".

    remoto

    Configure un repositorio remoto para enviar confirmaciones.

    Cualquier cambio que haya realizado localmente se puede cargar en un repositorio remoto. Github es un repositorio remoto, por ejemplo. Para inicializar la conexión de su servidor git remoto, use git remote.

    Ej: git remote add origin https://github.com/YOUR-USERNAME/your-repository.git

    • El nombre (o identificador ) 'origen' se utiliza como referencia para el repositorio de proyectos remoto. Puede nombrarlo como desee, sin embargo, es típico nombrar a su principal "origen".
    • El su-repositorio.git El archivo se crea cuando haces un git init.
    empujar

    Envíe los cambios confirmados a un repositorio remoto.

    Una vez que haya inicializado su repositorio remoto, puede enviar los cambios confirmados con push:
    git push -u origin master

    • ‘origen’ es el nombre que especificó para la conexión remota.
    • 'master' es la rama llamada master (la rama principal. Más sobre esto en un minuto).
    • la opción -u le dice a git que recuerde los parámetros que especificó, por lo que solo necesita escribir 'git push' la próxima vez.
    tirar

    Combina los cambios del repositorio remoto con su copia local.

    Una vez que las personas (o usted) hayan realizado más cambios en el repositorio, desea emitir una solicitud de extracción para fusionar los cambios que tiene localmente con el repositorio ascendente (remoto).

    git pull origin master

    dif

    Muestra qué diferencias ha habido en el repositorio desde la última confirmación.

    Cuando más de una persona envía cambios al repositorio remoto, habrá diferencias entre lo que ha almacenado localmente y lo que está en el servidor remoto. Las diferencias se denominan diffs . Cuando haces un tirón , esto le permitirá a su local

    Para ver las diferencias entre su confirmación más reciente y la que existe en el repositorio remoto, puede usar el puntero HEAD. HEAD es simplemente un indicador de posición, por defecto apunta a su ubicación más confirmaciones recientes.

    git diff HEAD

    La salida mostrará las diferencias entre su copia de los archivos modificados y la copia remota (sumas y restas).

    Para ver las diferencias entre los archivos en su preparación (agregar ed) y los archivos locales en su PC, utilice diff --staged

    pagar

    Volver a una confirmación anterior o cambiar de rama.

    Digamos que realizó una confirmación de file.txt que decidió que no era buena y que quería volver a una versión confirmada anterior, la revertiría así:

    git checkout -- file.txt

    • El — simplemente dice que no hay más opciones para la operación de pago.

    Para cambiar una rama, especifique el nombre de la rama (en lugar de usar — ​​o proporcionar un nombre de archivo para revertir):

    git checkout <branchname>

    sucursal

    Crea una nueva copia (rama). El comando también elimina o enumera las ramas presentes.

    Para obtener más información sobre qué es una 'rama', consulte la terminología a continuación. El siguiente ejemplo crea una nueva rama llamada 'nueva rama':

    git branch newbranch

    El siguiente ejemplo elimina 'nueva rama ':

    git branch -d newbranch

    rm

    Elimina archivos de la rama actual, así como del disco local.

    Para eliminar todos los archivos, use rm tal como lo haría con un complemento:

    git rm '*.txt'

    • No olvides confirmar ese cambio después de emitir el rm!
    combinar

    Fusiona una rama en otra.

    Como ejemplo práctico, continuando desde rm ejemplo de comando anterior, supongamos que realizó un rm *.txt desde la rama newbranch . Si desea fusionar ese cambio en el maestro rama, en primer lugar, volvería a cambiar al maestro sucursal emitiendo git checkout master, luego, usando el comando merge para fusionar las diferencias de newbranch con la rama actual (master ). La mayoría de los equipos de desarrolladores trabajarán en su código en ramas separadas antes de fusionarlos en la rama maestra al final del día.

    git merge newbranch

    restablecer

    Revierte (elimina) cualquier cambio por etapas.

    Por ejemplo, si ha realizado un git add file.txt, pero luego, antes de confirmar, decide que file.txt no debe confirmarse, emita el comando de reinicio, por ejemplo:git reset archivo.txt

    registro

    Muestra un diario de todos los cambios confirmados.

    Ej:git log