Git 分支与多人开发使用指南(Gitee + 本地 Git)

1. 基础概念

名称 说明
branch(分支) Git 中的指针,指向某个提交。使用分支可以在不同功能或任务之间隔离开发。
main/master 主分支,一般用作稳定版本。
feature branch 功能分支,用于开发新功能或修复 bug。完成后合并到主分支。
remote/origin 远程仓库(你的 Gitee 仓库)。

2. 查看与创建分支

2.1 查看本地分支

plain 复制代码
git branch

2.2 查看远程分支

plain 复制代码
git branch -r

2.3 创建新分支

plain 复制代码
git checkout -b feature/xxx

解释:

  • feature/xxx 是分支名,可用 feature/loginfeature/car-record 等命名。
  • -b 表示创建并切换到该分支。

2.4 切换分支

plain 复制代码
git checkout main  # 切回主分支
git checkout feature/xxx  # 切换到功能分支

3. 分支开发流程(多人开发)

假设团队开发某功能:

3.1 同步远程最新代码

plain 复制代码
git checkout main
git pull origin main

3.2 创建功能分支

plain 复制代码
git checkout -b feature/new-feature

3.3 开发提交

plain 复制代码
git add .
git commit -m "实现新功能 A"
git push -u origin feature/new-feature  # 首次推送需加 -u

3.4 提交后继续开发

plain 复制代码
git add .
git commit -m "完善新功能 A"
git push  # 之后可直接 push

4. 合并分支

4.1 合并到主分支

  1. 切换到 main:
plain 复制代码
git checkout main
  1. 拉取远程最新代码:
plain 复制代码
git pull origin main
  1. 合并功能分支:
plain 复制代码
git merge feature/new-feature
  1. 推送到远程:
plain 复制代码
git push origin main

Tip: 如果多人同时开发,推荐在 merge 前先使用 git pull --rebase origin main 保持提交线性。

5. 删除分支

5.1 删除本地分支

plain 复制代码
git branch -d feature/new-feature

5.2 删除远程分支

plain 复制代码
git push origin --delete feature/new-feature

6. 多人协作注意事项

  1. 先 pull 再 push:每次推送前,先从远程拉取最新代码,避免冲突。
  2. 功能分支独立:每个功能或 bug 修复都用单独分支,避免多人在 main 直接开发。
  3. 命名规范
    • feature/xxx:新功能
    • bugfix/xxx:修复 bug
    • hotfix/xxx:紧急修复
  4. 提交规范 :提交信息清晰、可追溯,如:
    • feat: 新增车辆保养记录功能
    • fix: 修复车辆列表分页问题
  5. 合并策略
    • 小团队可以直接 merge
    • 大团队可用 Pull Request(Gitee 支持 MR/PR)进行代码 review 再合并。

7. 常见冲突处理

7.1 拉取代码时出现冲突

plain 复制代码
git pull origin main

出现冲突后,Git 会提示冲突文件。解决方法:

  1. 打开冲突文件,手动修改冲突标记(<<<<<<<, =======, >>>>>>>)。
  2. 标记解决完毕:
plain 复制代码
git add <冲突文件>
git commit -m "解决冲突"
git push

8. 高级技巧

  1. 同步远程分支(保持本地分支最新):
plain 复制代码
git fetch origin
git rebase origin/main
  1. 查看提交日志
plain 复制代码
git log --oneline --graph --all
  1. 撤回本地修改
plain 复制代码
git checkout -- <file>
  1. 重置分支到远程状态
plain 复制代码
git reset --hard origin/main

9. 回退

9.1 本地回退提交(git reset

如果你在本地误提交了,需要撤销到某个旧版本:

plain 复制代码
# 查看历史提交
git log --oneline

# 回退到指定提交(保留修改)
git reset <commit-id>

# 回退到指定提交(丢弃修改)
git reset --hard <commit-id>

⚠️ 如果已经 push 到远程,强制回退要用 -f,并且要确认不会影响其他协作者。

plain 复制代码
git push origin 分支名 --force

9.2 使用 git revert(推荐多人协作)

如果提交已经推送到远程,直接 reset --force 会影响别人,推荐用 revert

plain 复制代码
# 撤销某个提交(生成一个新的"回滚提交")
git revert <commit-id>

# 撤销多个提交
git revert <old-commit-id>..<new-commit-id>

这样不会破坏提交历史,协作更安全。

9.3 回退分支到某一状态

比如要让分支直接回到某次提交:

plain 复制代码
git reset --hard <commit-id>
git push origin 分支名 --force

或者:

plain 复制代码
git push origin <commit-id>:分支名 --force

10.推送已有程序

10.1 初始化本地仓库(如果程序文件夹还不是 git 仓库)

plain 复制代码
cd 你的程序目录
git init
git add .
git commit -m "初始化提交"

10.2 关联远程仓库

plain 复制代码
# 如果还没关联过
git remote add origin git@gitee.com:你的用户名/仓库名.git

⚠️ 地址可在 Gitee 仓库首页 → 克隆/下载 里找到。推荐用 SSH。

10.3 切换到目标分支

(1)如果远程分支已经存在,比如 dev
plain 复制代码
git fetch origin
git checkout -b dev origin/dev
(2)如果远程分支不存在,要新建
plain 复制代码
git checkout -b dev   # 新建本地 dev 分支

10.4 推送代码到分支

plain 复制代码
git push origin dev   # 推送到远程 dev 分支

如果是新分支第一次推送,最好加上 -u,以后可以直接用 git push

plain 复制代码
git push -u origin dev

10.5 常见问题

  • 提示非 fast-forward:说明远程分支有别人提交过,需要先拉取合并:
  • 想覆盖远程分支(小心!会影响别人):

✅ 总结:

  1. git initgit remote add origin(如果没关联过)。
  2. git checkout -b 分支名git push origin 分支名
  3. 第一次推送建议 git push -u origin 分支名
相关推荐
Elasticsearch8 小时前
深入解析 simdvec:Elasticsearch 如何利用神经网络和视频编解码 CPU 指令实现向量搜索
elasticsearch
Elasticsearch1 天前
一条命令。自然语言。你的 Elasticsearch 数据,直接进入终端
elasticsearch
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
Elasticsearch1 天前
热力直达:使用 Elasticsearch 插件将 ES|QL 引入你的 Grafana 仪表板
elasticsearch
小猿姐2 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
A_Lonely_Cat2 天前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
Elasticsearch2 天前
使用 Elastic Agent Builder 和 Sarvam AI 构建多语言语音 agent
elasticsearch
和你看星星4 天前
Git rerere:让重复冲突只解决一次
git
武子康6 天前
调查研究-197 FAISS vs Elasticsearch 全面对比:从向量检索、全文搜索到 RAG 选型指南
人工智能·elasticsearch·agent