Especificación de uso de Git && comandos comunes de Git

Especificación de uso de Git && comandos comunes de Git

especificación de rama

rama maestra

  • La rama HEAD del maestro y el compromiso histórico están en un estado estable y liberable.
  • Cada confirmación de la rama maestra debe etiquetarse, como v1.0, v1.1, v1.2, v2.0, etc.
  • Solo se puede fusionar desde la rama de prueba y la rama de revisión.
    La combinación de revisiones debe verificarse mediante revisión y prueba de código.
    Al fusionarse de la prueba, se debe alcanzar tanto el estado de calidad aprobado por la prueba como el estado funcional aprobado por el producto.
  • Solo el líder del equipo y la persona a cargo de la rama maestra tienen permiso para enviar código.

rama de desarrollo

  • La rama de desarrollo principal, clonada en función de la rama maestra. En teoría, el código de la rama de desarrollo es consistente con la rama maestra.

rama característica

  • Cuando el alcance de los cambios en el código es grande, se puede cortar una rama de características de la rama de desarrollo para el desarrollo.
    Para refactorizar el código, corte una rama feature/feature_security.
  • Pueden existir varias ramas de funciones al mismo tiempo
  • Los nuevos cambios no se pueden fusionar desde la rama de desarrollo en las iteraciones de la rama de funciones.
  • Si solo una persona es responsable del desarrollo de la característica correspondiente y no hay necesidad de desarrollo colaborativo, solo debe existir en el almacén local y no enviarse al almacén remoto.
  • En teoría, el líder del equipo extrae la rama de características antes del desarrollo de los requisitos. La convención de nomenclatura de la rama es: característica/característica_nombre de función. Por ejemplo, la rama de desarrollo de transformación de seguridad 2.0 es: característica/característica_seguridad2

rama de prueba (solo el líder del equipo fusiona el código)

  • Rama de prueba, después de que la rama de características se fusiona con desarrollo, en la etapa de prueba, las correcciones de errores se pueden modificar directamente en esta rama o fusionar directamente desde la rama de características a la rama de prueba.
  • El líder del equipo puede fusionar la rama de prueba durante la prueba.
  • Durante la revisión del código, puede comparar la rama de prueba con la rama maestra.

rama de revisión

  • Rama de parche, basada en el clon de rama maestra, utilizada principalmente para reparar ERRORES en la versión en línea
  • Una vez completada e iniciada la corrección de errores en línea, el contenido de la corrección de revisión debe fusionarse en la rama de prueba actual.
  • tirado por el líder del equipo

proceso de envío de git

inserte la descripción de la imagen aquí

Fusión de código (rebase unificada para todos los usos)

modo comando

git pull --rebase
或者
git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分支

Manera de la IDEA

inserte la descripción de la imagen aquí

Especificación de uso de etiquetas

La versión principal de la versión de demanda se basa en: V1.0.0 y V1.1.0 se agregarán más adelante

Versión menor de corrección de errores en línea: V1.0.0 agregará V1.0.1 más adelante

# 查看当前所有tag
git tag --list
git tag -a V1.0.0 -m "xxxxx需求上线"
git push --tags

Comandos de uso común de git

Crea una rama y empújala hasta el extremo remoto.

git checkout -b feature/feature_security dev  # 基于dev分支创建
git push origin feature/feature_security  

También puede enviar directamente la rama según la rama de desarrollo.

git push origin dev:feature/feature_security  # 这样会创建分支并且将分支push到远端分支

almacenamiento temporal de git stash

git stashGeneralmente se utilizan dos escenarios:

  • Mucha gente modifica la misma rama. Después de modificarla localmente, descubrí que la rama remota ha sido modificada. En este momento, es imposible extraerla.

    git stash #先将本地代码暂存至缓存区域
    git pull --rebase #再更新代码至本地
    git pop   #再将暂存区域代码重新加载到本地
    
  • Cambió accidentalmente otros códigos de sucursal. Por ejemplo, originalmente feature/feature01desarrollado en una rama, accidentalmente cambié a master una rama y mastermodifiqué el código en la rama. En este momento quiero cambiar el código a feature/feature01la rama.

    git stash #先将本地代码暂存至缓存区域
    git checkout feature/feature01 #再将分支切换到feature/feature01分支
    git pull --rebase # 非必须步骤,更新远程代码到本地
    git pop  #再将暂存区域代码重新加载到本地
    

ingrese el código

Sugerencia: cada vez que envíe el código, si es el mismo código de función, envíelo al local al enviarlo, no lo envíe al extremo remoto cada vez, es la misma función que se fusiona en un solo envío, y hay menos envíos no válidos, como el mismo El archivo se modificó y envió varias veces y un comentario se modificó y envió varias veces.

git add .    # 添加提交内容 ‘.’表示当前目录所有,如果需要单独添加某一个文件:git add xxx.txt
git commit -m 'feature(bin): add first commit'  # 提交代码到本地仓库
git push origin master   # 将代码推送到远程仓库

Ver todas las referencias del repositorio remoto

git remote 

Ver la lista de sucursales remotas

git branch -a

fusionar un compromiso

git cherry-pick 'commit-id'

Ver el estado de los archivos en el espacio de trabajo, el área de preparación y el almacén local

git status 

Modificar los comentarios enviados (no enviados al registro remoto)

git commit --amend

Presione i para ingresar al modo de edición (igual que el uso de vim). ejército de reserva

Presione ESC para salir del modo de edición

wq: salir de guardar

q!: Salir sin guardar

Guarde y salga, y luego verifique si el contenido enviado ha sido modificadogit log

Modificar el comentario de un determinado envío (no enviado al registro remoto)

En primer lugar, debe encontrar el compromiso que debe modificarse y git log encontrar el ID de compromiso del envío. Solo se pueden usar dos o más envíos. Si solo hay un envío, úselo git commit --amend.

git log 
git rebase -i 28b197a00473ea1b46fab13263c294cce0d7401c

Después de modificar el comentario, debe pickcambiarlo a reword.

Modificar los comentarios enviados (enviar al registro remoto)

También puedes utilizar el método anterior.

Después de la modificación aquí, es necesario forzarlo a pasar a la rama de versión.

git push origin master -fEntonces debes prestar atención aquí, no hagas esto en circunstancias normales.

Actualice el código localmente y combínelo

git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分
git rebase origin/feature:test # 将代码合并到测试分支

git pull --rebase # 将代码更新到本地仓库并且合并到当前分支

local y fusionar

git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分
git rebase origin/feature:test # 将代码合并到测试分支

git pull --rebase # 将代码更新到本地仓库并且合并到当前分支

Supongo que te gusta

Origin blog.csdn.net/wagnteng/article/details/131809129
Recomendado
Clasificación