Git desde la instalación hasta el uso básico (tutorial de niñera 2023)

instalación de Git

Instalar

1. Primero vaya al sitio web oficial para descargar este software y prepárese para instalarlo en esta computadora

git-scm.com/

 2. Descargue este software a la máquina de acuerdo con su propio sistema informático

El sistema Windows puede descargar directamente el archivo .exe, el sistema macOS usa la línea de comando Homebrew para instalar y el terminal ingresa git --version para confirmar la instalación 

imagen-20230612100943906.png

3. La ruta de instalación predeterminada se puede seleccionar de forma predeterminada. Si desea cambiar la ruta, asegúrese de usar la ruta en inglés

4. Para el sistema Windows, verifique si la instalación fue exitosa: haga clic con el botón derecho en cualquier carpeta, verifique si hay una opción Git Base Here, si la hay, es exitosa 

imagen-20230612101818017.png


introducir

Tres áreas de Git:

  • espacio de trabajo: el área donde se realiza el trabajo
  • Área de almacenamiento temporal: un área para el almacenamiento temporal
  • Almacén local de git: área de almacenamiento final

En la carpeta se refleja de la siguiente manera:

  • Espacio de trabajo: el directorio que ves en tu computadora
  • Área de almacenamiento temporal: en el índice en la carpeta .git (registros binarios)
  • Repositorio: se refiere a toda la carpeta .git (también se considera un almacén local)

Se refleja en el código de la siguiente manera:

imagen-20230612154411204-1687173588607.png

Usos de Git

Documentación Oficial: Enlace Tutorial

Tutorial para novatos: enlace del tutorial

Configuración de Git 

Después de instalar Git, lo primero que debe hacer es configurar su nombre de usuario y dirección de correo electrónico. Porque cada confirmación de Git usará esta información

El formato de comando es el siguiente:  chino depende de la situación

comando fijo git config, establecer la configuración relacionada con git

--global Configuración global: una vez configurada, toda la máquina tendrá efecto al usar git

git config --global user.name 你的用户名
git config --global user.email 你的邮箱地址

El efecto de ejecutar el comando es el siguiente:

imagen-20230612130038686.png

 Después de la configuración, puede ejecutar el siguiente comando para verificar si tiene éxito

git config --list
#如果信息太多,可以输入 q 退出

El efecto de ejecutar el comando es el siguiente: 

imagen-20230612130350943.png

Si aparece el contenido anterior, el registro es exitoso

Si desea modificarlo más tarde, solo necesita ejecutar el comando nuevamente

Marque en el lado derecho del archivo en vscode 

Generalmente, al abrir una carpeta que contiene un almacén de git, habrá estas marcas 

imagen-20220625155941259.png

右侧没有标记的时候为“未修改” 或 此文件/文件夹, 被git忽略不跟踪变化
M为“已修改”
A为“已添加”
D为“已删除”
R为“已重命名”
C为“已复制”
U为“已更新但为融合”

Comandos básicos de Git

Inicializar un repositorio Git vacío 

Creamos una carpeta nueva/la carpeta existente no es un almacén de git, porque no hay una carpeta .git, por lo que no es administrada por git. En la nueva carpeta/carpeta existente, puede ejecutar el siguiente comando para obtener la carpeta .git y luego dejar que git comience a prepararse para la administración

# Inicialice el almacén de git, producto: carpeta .git (administrada "dentro" de la carpeta) git init

Por ejemplo, ingrese el comando git init en una nueva carpeta para inicializar un repositorio git vacío 

imagen-20230612141325305.png

Después de inicializar con éxito el almacén de git vacío, en la carpeta del proyecto, muestre los archivos ocultos y podrá ver la carpeta .git. Para sistemas Windows, marque la opción Elementos ocultos en Ver. Para el sistema macOS, use la tecla de método abreviado Comando + Shift + para cambiar la visualización de archivos ocultos 

Registro de actualización en el repositorio de Git

Cada vez que complete el objetivo de una etapa y desee documentarlo, confírmelo en el repositorio

Operación principal: desarrollo del espacio de trabajo ---> agregar el archivo modificado al área de almacenamiento temporal ---> registrar los archivos en el área de almacenamiento temporal al repositorio

  1. Para cambiar el espacio de trabajo y ponerlo en el área de almacenamiento temporal, el siguiente comando

    intento

    copiar codigo

    # (了解) 将index.html 添加到暂存区 git add index.html # 将css目录下一切添加到暂存区 git add css
  2. El siguiente comando puede colocar todos los archivos modificados en el área de almacenamiento temporal al mismo tiempo

    Nota: hay un espacio después de agregar, lo que .significa que todos los cambios en el directorio actual se almacenan temporalmente

    intento

    copiar codigo

    git add .
  3. Envíe el contenido del área de almacenamiento temporal a la biblioteca de versiones, el comando es el siguiente

    intento

    copiar codigo

    git commit -m '提交的内容说明'
  4. Gráfico:

    Es equivalente a archivar una vez, generar un registro de confirmación en el repositorio (y generar un número de versión)

    Este archivo no nos retrasará para continuar escribiendo proyectos en el espacio de trabajo (carpeta del proyecto)

imagen-20230612154411204-1687173588607.png

Registro de Git y vista de estado

  1. Para ver todos los registros enviados, el comando es el siguiente

    intento

    copiar codigo

    git log

    El efecto de ejecutar el comando es el siguiente:

imagen-20230612212059053.png

  1. Cuando tengamos más y más registros, es posible que deseemos simplificar la visualización, podemos ingresar el siguiente comando

    --una línea muestra información breve en una línea

    intento

    copiar codigo

    git log --oneline

    El efecto de ejecutar el comando es el siguiente:

imagen-20230612212137406.png

  1. Si cambió demasiado código y olvidó cuáles se cambiaron, puede ejecutar el siguiente comando para ver los cambios en el almacén de git, y solo puede ver el estado de todos los archivos modificados no confirmados

    intento

    copiar codigo

    git status

    El efecto de ejecutar el comando es el siguiente:

imagen-20230612212456778.png

  1. Almacenamiento temporal y envío de nuevo para generar un registro de versión

    intento

    copiar codigo

    git add . git commit -m '新建登录页面_和样式'
  2. El diagrama es el siguiente:

imagen-20230612154411204.png

Reversión de la versión de Git

Máquina del tiempo, vuelve al pasado~

  1. La sintaxis del comando alternativo es la siguiente, el chino depende de la situación

    intento

    copiar codigo

    git reset --hard 版本号
  2. Ver número de versión

    El número de versión se genera aleatoriamente cada vez, el nuestro es definitivamente diferente

    intento

    copiar codigo

    git log --oneline

imagen-20230612212700778.png

  1. Intenta retroceder 477321ba este registro

    intento

    copiar codigo

    git reset --hard 477321b
  2. Observe el espacio de trabajo, la reversión es exitosa

    imagen-20230612212808682.png

  3. Si desea volver al registro del último envío, encontrará que el registro de git no puede ver registros futuros, pero el problema no es grande.

    Ingrese el comando git reflog para ver todos los registros de operaciones de git, incluidos sus registros de reinicio

    intento

    copiar codigo

    git reflog

    El efecto de ejecutar el comando es el siguiente:

imagen-20230612212857923.png

Comando extendido:

  • git bash (terminal) limpia la pantalla:clear
  • git bash (terminal) comienza una nueva página:Ctrl + L

Git ignora archivos

A veces, no queremos que git rastree y administre ciertos archivos/carpetas. En este escenario, debemos crear un archivo de ignorar llamado .gitignore (nombre fijo) junto a la carpeta .git y escribir las reglas de ignorar. El nombre del archivo aquí es .gitignore, que no es un sufijo.

La estructura de carpetas del proyecto es la siguiente:

imagen-20230612213354387.png

ignorar

copiar codigo

# .gitignore内容: password.txt 其余用法: # 忽略文件夹 css # 忽略文件夹下的某个文件 css/index.js # 忽略文件夹下某类文件 css/*.js

Cree una nueva contraseña.txt en el directorio raíz para ver qué cambios ha rastreado git

intento

copiar codigo

git status

El efecto de ejecutar el comando es el siguiente:

imagen-20230612214049685.png

Se encontró que solo se agregó .gitignore, y se ignoraron aquellos que cumplían con las reglas.

rama de Git

rama naturaleza

  • Una rama es en realidad una marca de puntero llamada HEAD Cada vez que se envía el código, el puntero HEAD se moverá hacia atrás una vez para asegurarse de que apunta (y en el espacio de trabajo) es el último envío. Cuando presionamos el comando: git reset --hard a3bcab2, el puntero HEAD se moverá, y después de que HEAD se mueva, afectará el código en el espacio de trabajo.

crear rama

  1. El comando para crear una rama es el siguiente

    intento

    copiar codigo

    # 创建分支 git branch 分支名
  2. Nota: Las ramas no se cambiarán automáticamente después de la creación, podemos ejecutar el comando para ver todas las ramas en el repositorio .git actual

    El comando para ver todas las ramas de la biblioteca de la versión actual es el siguiente

    intento

    copiar codigo

    # 查看当前版本库所有分支 git branch # 绿色带*代表, 你现在所处的分支

    El efecto de ejecutar el comando es el siguiente:

imagen-20230612215435954.png

  1. Cambiar manualmente a la sucursal

    Nota: cree y cambie a esta rama por primera vez, aquí encontrará que todos los códigos en la rama maestra (y todos los registros de envío del nodo actual) se han copiado, sobre esta base, puede desarrollar más tarde

    intento

    copiar codigo

    # 切换分支命令 git checkout 分支名

    El efecto de ejecutar el comando es el siguiente:

imagen-20230612215712754.png

  1. El diagrama es el siguiente:

imagen-20230612215806700.png

Proceso de desarrollo de sucursales

  1. Ahora podemos escribir en la rama de registro actual, registrar el código lógico de la página, por ejemplo, crear un nuevo archivo reg.html y escribir algo casualmente

  2. Luego almacene y envíe temporalmente una vez, y el registro enviado esta vez aparecerá aquí, como se muestra en la figura

imagen-20220626005643763.png

  1. Por lo tanto, en el futuro, cuando se desarrolle bajo la rama de registro actual, se generará un registro de versión para cada envío dentro del rango de registro, pero no afectará a otras ramas.

fusión de ramas

  1. Podemos fusionar el código escrito en la rama en la rama principal/otras ramas

  2. Primero, cambie a la rama de destino en la que desea fusionarse, aquí está la rama principal maestra como ejemplo

    intento

    copiar codigo

    # 切换分支 git checkout master
  3. El diagrama es el siguiente

imagen-20230612220823875.png

  1. Sintaxis del comando de combinación

    intento

    copiar codigo

    # 把目标分支名下的所有记录, 合并到当前分支下 git merge 目标分支名
  2. Aquí ejecutamos el comando

    intento

    copiar codigo

    git merge reg
  3. Diagrama de efectos después de la ejecución

imagen-20220626011937230.png

eliminación de rama

  1. Si se desarrolla la función de registro y el código se fusionó con la rama maestra, no necesitamos la rama de registro

  2. El comando es el siguiente

    intento

    copiar codigo

    git branch -d 分支名
  3. Si su código de sucursal actual no se fusionó con otras sucursales, se informará un error

Conflictos al fusionar ramas

En las dos sucursales, el mismo archivo ha sido modificado y enviado. Al fusionarse, se producirán conflictos.

  1. Simule un conflicto simple aquí

    • En la rama maestra, modifique una línea de código en login.html y complete un envío temporal

      imagen-20230612221800522.png

    • Cambie a la rama de registro, modifique la línea de código correspondiente en login.html y complete un envío temporal

      imagen-20230612222009473.png

  2. Luego, vuelva a la rama maestra, use el comando de fusión para fusionar el código y los cambios en la rama de registro

    No en vano, habrá conflictos

imagen-20230612222117265.png

  1. Después de un conflicto, la interfaz de VSCode

    imagen-20230612222156560.png

    En este punto tenemos que hacer una elección: adoptar los cambios actuales, adoptar los cambios entrantes, mantener todos

  2. Después de seleccionar el método de retención, debe guardar temporalmente y enviar de nuevo

    imagen-20230612222444912.png

    En este punto, se termina el estado de conflicto y se vuelve al estado normal.

  3. Imprimir registros de registro después de fusiones en conflicto

    imagen-20230612222705106.png

Resumen: cuando encontramos un conflicto en la combinación, debemos resolverlo manualmente, luego almacenarlo temporalmente y enviarlo una vez

Suplemento: explicación detallada del diagrama de flujo de la rama de Git

  • El puntero de cabeza HEAD, que apunta al registro de envío, se sobrescribirá en el área de trabajo y en el área de almacenamiento temporal, cada envío generará un nuevo registro, maestro y HEAD se moverán hacia atrás.

imagen-20230612224348269.png

  • Optimista sobre la sucursal y los registros actuales, y cree una nueva sucursal basada en este nodo (incluidos todos los registros de envío anteriores), se git branch regcreará una marca de puntero para identificar el nombre del registro que apunta a

imagen-20230612224959233.png

  • git checkout regEl interruptor está señalado por el puntero HEAD (rama del interruptor)

imagen-20230612225147670.png

  • Una vez que se crea la página de registro, git add .se agrega al área de almacenamiento temporal y git commit -mse genera un registro de envío

imagen-20230612225547703.png

  • Una vez que se crea el estilo de la página de registro, el envío se almacena temporalmente y se genera un registro de envío.

imagen-20230613003559070.png

  • Fusionar rama (registro de confirmación)

    • Objetivo: desea fusionar A en B. Por ejemplo: Fusionar registro en maestro
    • git checkout B, después de cambiar a la rama de destino
    • git merge A, fusiona los registros de la rama A en la rama B

    Primero cambie a la rama principal git checkout master

imagen-20230613004008281.png

  • Combinar rama de registro git merge reg

imagen-20230613004234355.png

  • Xiao Ming: modificó el archivo index.html, en la rama de registro, lo guardó temporalmente y lo envió, lo que resultó en un registro

imagen-20230613004635286.png

  • Xiao Ming: modificó el archivo index.html (el mismo archivo), en la rama maestra, guardó temporalmente el envío y generó un registro

imagen-20230613010644386.png

  • Combine el registro y cambie el mismo archivo para informar un error, que debe resolverse

imagen-20230613010950109.png

  • Después de resolver manualmente los conflictos, se generará un nuevo registro de confirmación.

imagen-20230613011347885.png

  • Elimine la rama de registro y todo el proceso habrá terminado.

imagen-20230613011445775.png

Repositorio remoto Git

introducir

Un repositorio remoto es un repositorio de su proyecto alojado en Internet u otra red que almacena todos los registros y archivos de nuestro repositorio. Admite la colaboración de varias personas y administra conjuntamente los almacenes remotos, de modo que cuando nuestra computadora se rompa, también podamos clonar un código enviado previamente desde el almacén remoto para continuar el desarrollo localmente.

imagen-20230615093344985.png

Los principales almacenes remotos incluyen GitHub (centro gay), la comunidad de citas entre pares más grande del mundo, y gitee (nube de código), cuyo servidor está en China. Dado que el servidor de GitHub está en el extranjero, es necesario navegar por Internet científicamente o usar otras herramientas de aceleración. Para mayor comodidad, aquí está Code Cloud como ejemplo para la referencia de los principiantes. El proceso de GitHub es similar a gitee

registro

Después de registrarse e iniciar sesión en el sitio web gitee.com, agregue la dirección de correo electrónico principal como la dirección de correo electrónico establecida en su almacén local de git. Tenga en cuenta que debe ser la misma, de lo contrario no se puede enviar correctamente. Si olvida la dirección de correo electrónico configurada localmente, puede abrir la consola e ingresar para git config --listverificar la dirección de correo electrónico nuevamente. Por supuesto, también puede usar git config --global user.email 你的邮箱地址el

En la interfaz de configuración de correo electrónico, no marque la casilla que no revela mi dirección de correo electrónico, de lo contrario no podrá enviarse normalmente

imagen-20230615094323926.png

nuevo almacén

Puede optar por crear un proyecto de almacén remoto (múltiple), la interfaz de creación es la siguiente

imagen-20230615095044748.png

Una vez completada la verificación, seleccione Crear.Después de la creación, obtendrá un enlace a la dirección del almacén remoto, que generalmente termina en .git.

Las direcciones se incluyen en dos de los protocolos de transporte más utilizados:

Seleccione la ruta SSH, la interfaz es la siguiente

imagen-20230615095628604.png

configuración ssh

Podemos iniciar sesión sin contraseña después de configurar SSH en esta máquina una vez

  • composición y función de la tecla ssh

    texto

    copiar codigo

    ssh key 的作用:实现本地仓库和 gitee平台之间免登录的加密数据传输 ssh key 由两部分组成,分别是: id_rsa(私钥文件,存放于客户端的电脑中即可) id_rsa.pub(公钥文件,需要配置到 gitee平台 中) 私钥加密的信息,只能通过公钥解密。公钥加密的信息,只能通过私钥解密。安全性高!

Pasos para crear y usar:

  • Primero genere una clave secreta en la máquina local (también se puede regenerar y reconfigurar más tarde), abra una terminal al azar e ingrese el siguiente comando:

    intento

    copiar codigo

    ssh-keygen -t rsa -C "你注册账号的邮箱"
  • Presione Enter tres veces seguidas para generar dos archivos, id_rsa e id_rsa.pub, en el directorio C:\Users\username folder.ssh

  • Use vscode para abrir el archivo id_rsa.pub y copie el contenido del texto dentro

  • Pegue la configuración en Code Cloud -> Configuración -> clave pública ssh

  • Si es una mac, puede ingresar al siguiente tutorial para visualizar: mac obtiene la clave pública

Inicializar un almacén vacío

Primero configure la dirección de un almacén remoto para el almacén local y establezca un enlace entre los almacenes

Dado que cada operación push necesita traer la dirección del almacén remoto, es muy problemático. Podemos establecer un alias para el almacén.

intento

copiar codigo

# 给远程仓库设置一个别名 git remote add 仓库别名 仓库地址 git remote add origin [email protected]:(username)/repository.git # 删除 origin 这个别名 git remote remove origin # 使用 -u 记录 push 到远端分支的默认值,将来直接 git push 即可 git push -u 仓库别名 分支名

imagen-20230615101817727.png

El siguiente es un ejemplo de funcionamiento real:

  • Simplemente cree una nueva carpeta de proyecto, inicialice git y luego complete algo de contenido en el archivo del proyecto, aquí agrego un nuevo .gitignorearchivo y luego lo guardo temporalmente y lo envío al repositorio local de git

    imagen-20230615103357225.png

  • Introduzca el siguiente comando:

    intento

    copiar codigo

    # 注意:这里的existing_git_repo是你的项目根路径 cd existing_git_repo #如果你是在项目文件夹开启的终端,忽略此行 # 添加远程仓库关联,仓库别名origin,可以随意更改,后接ssh地址 # 此处的ssh是自动生成的,可以去gitee空仓库的代码页直接复制即可 git remote add origin [email protected]:li-houyi/test-factory.git # 第一次推送到远程时需要指定具体的分支,因为远程仓库并没有这个分支 # 使用 -u 记录 push 到远端分支的默认值,将来直接 git push 即可 git push -u origin "master"
  • Esta página se considera exitosa:

    imagen-20230615104040319.png

    Nota: El almacén local enviado no debe estar vacío y el almacenamiento temporal local se ha enviado; de lo contrario, se informará un error. Esto también es fácil de entender, si envías un proyecto vacío a un almacén vacío, ¿no debería darte un error?

  • Después de que el impulso sea exitoso, vuelva a ingresar a la página del almacén de gitee para verificar si el impulso es correcto

    imagen-20230615105531979.png

  • Después de que el almacén vacío se haya creado con éxito, puede abrir el almacén en la página de administración, por supuesto, no puede configurar el código abierto (privado predeterminado)

nativo sin proyecto - clon

Si no tiene un proyecto localmente y desea obtener el código del almacén de otra persona o de su propio almacén, debe clonar el proyecto.

  • El comando es el siguiente:

    intento

    copiar codigo

    git clone 目标远程仓库的git地址
  • El proceso es el siguiente:

imagen-20230615110423501.png

  • Si el proyecto tiene solo una rama, entonces el código anterior se ha clonado después de la ejecución (git clon extrae la rama maestra de forma predeterminada), pero en el desarrollo real, no hay solo una rama, por lo que debemos realizar los siguientes pasos:

    • Cree una sucursal localmente, el nombre de la sucursal es el mismo que el nombre de la sucursal remota, verifique el nombre de la sucursal remota usandogit branch -r
    intento

    copiar codigo

    git checkout -b 对应远程分支名
    • Tire de la rama remota ( no extraiga directamente el código de la rama correspondiente en la rama maestra, cambie a la rama recién creada )
    intento

    copiar codigo

    # 每次拉取都需要指定远程仓库名和分支名 git pull 远程仓库名 分支名
    • Nota: Las 2 líneas de comandos anteriores se pueden combinar en una sola línea
    intento

    copiar codigo

    git checkout -b 分支名 origin/分支名
    • Extensión: establezca la rama extraída por git pull de forma predeterminada
    intento

    copiar codigo

    git branch --set-upstream-to=origin/远程分支名 本地分支名

desarrollo colaborativo

  • A escribe el código, lo oculta, lo envía y luego lo envía al servidor remoto
  • B escribe el código, lo guarda temporalmente y lo envía. Primero puede extraer el registro que acaba de enviar la otra parte a la combinación local y luego enviarlo al control remoto después de que la combinación sea correcta.
  • A puede git pull para extraer la última versión del código remoto a la fusión local

Ya sea A o B aquí puede ir primero, continúe extrayendo el código actualizado, solo use el comando git pull

Revisión del proceso de almacenamiento remoto de Git

  • Paso 1:

imagen-20230616072225869.png

  • Paso 2:

imagen-20230616072307518.png

  • Paso 3:

imagen-20230616072523621.png

  • Etapa 4:

imagen-20230616072547086.png

Descripción general de los comandos comunes de Git

imagen-20230620223216096.png

Autor: Yaonan.
Los derechos de autor pertenecen al autor. Para reimpresión comercial, comuníquese con el autor para obtener autorización, para reimpresión no comercial, indique la fuente.

Supongo que te gusta

Origin blog.csdn.net/YN2000609/article/details/131919082
Recomendado
Clasificación