Primero hable sobre los comandos git de uso común
Proyecto de clonación
git clone ...
Extraiga una nueva rama de la rama principal
git checkout -b xxx(分支名字) 根据master分支拉取一个xxx分支出来
git push -u origin xxx(你从master上拉取的分支名字) 将xxx分支推到远程上,因为远程上没有这个新的xxx分支,所以要加-u。第一次将新分支提交到远程上时需要加-u
Envíe contenido a la rama de desarrollo actual
git add .
git commit -m ''
git push
Fusionar con la rama maestra
git checkout master 切换到master分支
git pull origin master 先拉一下master分支上的代码
git merge xxx 将xxx合并到master分支
git push 将master分支代码推到远程
Cómo cambiar de rama en git
git checkout xxx(需要切换的分支名)
Cómo eliminar una sucursal local en git
git branch -D xxx(需要删除的分支名)
Cómo eliminar una rama remota en git
git push origin --delete xxx(需要删除的分支名)
git push origin :xxx(需要删除的分支名)
Cómo git extrae ramas remotas
git fetch origin xxx(需要拉取的分支名)
Cómo fusionar ramas remotas en git
git merge xxx(需要合并的分支名)
¿Cómo cancela git la última operación de confirmación?
第一种情况,如果还没有push,只是在本地commit:git reset --hard <commit_id>
第二种情况,如果已经push:git revert <commit_id>
Forzar el código remoto para sobrescribir el local:
git fetch --all
git reset --hard origin/master
git pull
Déjame hablar sobre la especificación de git.
El primero es la especificación de compromiso
1. feat: 新功能
2. fix/to: 修复bug
• fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
• to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix
3. docs:文档(documentation
4. style:格式(不影响代码运行的变动)。
5 .refactor:重构(即不是新增功能,也不是修改bug的代码变动)。
6. perf:优化相关,比如提升性能、体验。
7. test:增加测试。
8. chore:构建过程或辅助工具的变动。
9. revert:回滚到上一个版本。
10.merge:代码合并。
11.sync:同步主线或分支的Bug。
Por ejemplo, para agregar nuevas funciones:
feat:添加了某个新功能
Luego está la convención de nomenclatura de nuestra rama de proyecto
Master->>Develop:创建开发分支
loop Sprint 开发阶段
Develop->>+Feature:创建功能特性分支
Feature-->>-Develop:完成功能开发
end
Develop->>Release:创建预发布分支
loop Sprint 测试阶段
Release->>+Fix:创建问题修复分支
Fix-->>-Release:完成问题修复
end
Note right of Release: 发布新版本,打上版本 tag
Release-->>Develop:回归版本到最新的开发分支
Release-->>Master:回归版本到最新的主分支
Master->>+Hotfix:创建生产环境问题分支
Hotfix-->>-Master:完成生产环境问题修复
Por ejemplo, para un nuevo proyecto, primero creamos una rama de desarrollo desarrollar en la rama maestra, y luego creamos una rama en la rama de desarrollo. Suponiendo que hayamos terminado una función, el nombre de la rama se puede llamar
feature-dmxy/xxxxxxx-xxx
Característica es el tipo de rama Esta es una rama funcional
dmxy es la abreviatura de nuestro proyecto
xxxxxxx-xxx Generalmente, cada característica tendrá un número, esto depende de cada empresa.