目录

Git工作示例

Git

如何贡献

Pull Request:

  1. Fork 代码:git clone <repo.git>
  2. 创建自己的分支: git checkout -b feat/xxxx
  3. 提交你的修改: git commit -am 'feat(function): add xxxxx'
  4. 推送您的分支: git push origin feat/xxxx
  5. 提交: pull request

多人协作

贡献提交规范

参考

Commit 内容

  • feat 增加新功能
  • fix 修复问题/BUG
  • docs 文档/注释
  • style 代码风格相关无影响运行结果的
  • refactor 重构
  • perf 优化/性能提升
  • test 测试相关
  • workflow 工作流改进
  • ci 持续集成
  • chore 依赖更新/脚手架配置修改等
  • types 类型定义文件更改
  • revert 撤销修改
  • wip 开发中

常用命令及原理

init

创建或初始化git仓库

add

将文件添加到暂存区

commit

提交暂存区到本地仓库

pull <远程主机名> <远程分支名>:<本地分支名>

从远程获取代码并合并本地的版本

fetch alias/branch

从远程获取代码库

reset

回退版本

rebase

变基

reflog

查看提交记录

mv

修改文件名大小写

Hook 钩子

一些分享

  1. 让你的提交历史更加优雅

该操作的含义如果无法理解,则无需理会。 明确该过程操作范围只影响本机提交状态。

1
2
3
4
git fetch origin # 同步远程代码
git checkout feat/xxxx # 切换至开发分支
git rebase origin/xxxx # 变基
git rebase -i HEAD~n # 本地提交整理
  1. 如何反悔
1
2
git reflog # 查看历史操作记录
git reset --hard xxxxxx
  1. 如果重写commit内容
1
2
git commit --amend # 方式1
git rebase -i HEAD~1 # 方式2

基础工作流

1. 克隆仓库

1
git clone <repo.git>

2. 创建特性分支

1
2
# 这里的 feat 可以是其它类型,用于区分当前分支目的,比如 fix/bug1001
git checkout -b feat/v0.0.2

3. Commit

commit 可以多次,最好分功能块进行 commit,以便最终合并时归纳该次特性分支的内容。

1
git commit -m "feat: v0.0.2 done"

4. 同步主分支

1
git fetch

5. 变基,用于保证该特性分支与目的分支没有冲突,同时使修改历史清爽

1
git rebase origin/main

6. 提交&合并请求

  1. 在合并前确保已经发现的bug都已经解决后,由开发人员或者仓库管理人员对该次提交进行变基合并。

  2. 对应的特性分支则需要被删除,随后的bug问题可以单独再创建特性分支重新走工作流程。

合并请求后的修改

当提交PR后,由测试人员切换到对应PR分支,或者自行在本地创建测试分支,并手动合并PR内容。