git 代码提交

📋 完整的提交类型列表

类型 含义 使用场景 示例
feat 新功能 添加新特性 feat: 添加用户登录功能
fix 修复 Bug 修复错误 fix: 修复登录时的空指针异常
docs 文档 仅修改文档 docs: 更新 API 使用说明
style 代码格式 不影响代码逻辑的格式修改 style: 统一代码缩进为 4 空格
refactor 重构 既不是新功能也不是修复 Bug refactor: 重构用户服务层代码
perf 性能优化 提升性能的修改 perf: 优化数据库查询,减少 N+1 问题
test 测试 添加或修改测试代码 test: 添加用户服务单元测试
build 构建系统 影响构建系统或外部依赖 build: 升级 Go 版本到 1.25
ci 持续集成 修改 CI 配置文件 ci: 添加 GitHub Actions 自动测试
chore 杂务 其他不修改源码的变更 chore: 更新 .gitignore
revert 回滚 撤销之前的提交 revert: 回滚 feat: 添加用户登录功能

git代码同步

当前 feature/xxx 分支,我想同步远程 main 的最新代码到 feature/xxx 分支,以下方案不更改本地 main 分支,只更改本地跟踪的 origin/main 分支。

1
2
3
git checkout feature/xxx   # 确保在功能分支
git fetch origin # 先获取远程最新状态(关键前置步骤!)
git merge origin/main # 将 origin/main 合并到当前分支 (feature/test)

git fetch origin

  • 只更新远程跟踪分支(remotes/origin/*),不影响本地分支(如 master/feature/create-new-project)
  • 自动创建新分支:如果远程新增了分支,本地会自动创建对应的 remotes/origin/新分支
  • 删除已移除分支:配合 –prune 参数可清理远程已删除的分支(如 git fetch –prune origin)

注意⚠️git merge origin/main只影响当前分支,本地 main 需单独同步

1
2
git checkout main
git reset --hard origin/main

最佳实践

1
2
3
4
5
6
7
8
9
10
11
# 1. 获取所有远程更新(清理已删除分支)
git fetch --prune origin

# 2. 确保在功能分支
git checkout feature/test

# 3. 显式合并(带自定义提交信息)
git merge --no-ff -m "sync: merge origin/main into feature/test" origin/main

# 4. 推送更新(如果分支已存在远程跟踪)
git push origin feature/test