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 分支名
相关推荐
海鸥812 小时前
ArgoCD App of Apps 模式详解
java·elasticsearch·argocd
Dxy12393102162 小时前
深度解析 Elasticsearch 8.13.4 范围查询 DSL
大数据·elasticsearch
论迹2 小时前
【Git】-- 解决git branch -a打印已被删除的远程分支
git
Zilliz Planet3 小时前
官宣 | Milvus 2.6云上GA:三层存储降本85% 、速度快ES 4-7 倍,多数据类型支持
大数据·elasticsearch·搜索引擎·全文检索·milvus
峥嵘life4 小时前
Android16 系统每月Google安全补丁导入说明
大数据·elasticsearch·搜索引擎
Dxy12393102164 小时前
Elasticsearch 8.13.4 地理范围查询实战指南
大数据·elasticsearch·jenkins
天草二十六_简村人4 小时前
ES索引检索课程名称时,同时支持模糊搜索和精准搜索
大数据·后端·elasticsearch·搜索引擎·全文检索
椰汁菠萝4 小时前
VSCode中设置git提交按钮为“提交和推送”
git·vscode·自动推送