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 分支名
相关推荐
摇滚侠7 小时前
MAC IDEA GIT 提交区显示了几个不存在的目录
git·idea
城东8 小时前
Git使用[远程仓库远端的head比本地和提交的head旧,其他人拉不到最新代码]
git·head·远程仓库远端·比本地和提交的head旧·其他人拉不到最新代码
星辰_mya9 小时前
Elasticsearch线上问题之OOM
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客9 小时前
使用 Groq 与 Elasticsearch 进行智能查询
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
张彦峰ZYF10 小时前
一套「策略化 Elasticsearch 召回平台」架构设计思路
大数据·elasticsearch·搜索引擎
何中应17 小时前
使用SSH地址拉取远程仓库代码报下面的错误
git
何中应17 小时前
Git本地仓库命令补充
git
sun00770019 小时前
执行repo sync -c -d -j4以后,提交未git push的代码看不到了。要怎么恢复?
git
胖虎121 小时前
Git 一个本地仓库同时推送到两个远程仓库(详细教程)
git·多远程仓库·双远程仓库·git双远程·git备份
Dxy12393102161 天前
Elasticsearch 索引与映射:为你的数据打造一个“智能仓库”
大数据·elasticsearch·搜索引擎