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 分支名
相关推荐
春日见1 小时前
vscode代码无法跳转
大数据·人工智能·深度学习·elasticsearch·搜索引擎
那起舞的日子7 小时前
ElasticSearch系列-3-java端整合CURD
elasticsearch
stevenzqzq9 小时前
git 常用操作
大数据·git
历程里程碑10 小时前
普通数组----最大子数组和
大数据·算法·elasticsearch·搜索引擎·排序算法·哈希算法·散列表
星辰_mya11 小时前
Elasticsearch之下
大数据·elasticsearch·搜索引擎
Curvatureflight11 小时前
Git工作流最佳实践:从混乱到优雅
git
Elastic 中国社区官方博客11 小时前
跳过 MLOps:通过 Cloud Connect 使用 EIS 为自管理 Elasticsearch 提供托管云推理
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
wu~97012 小时前
GitHub永不遗忘,使用git push -f来覆盖的提交依旧保留
git·github
Vermouth_0013 小时前
git clone的时候提示access denied
git
Elastic 中国社区官方博客13 小时前
Elasticsearch:使用 Base64 编码字符串加速向量摄取
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索