git团队开发流程

这篇文章适合有git基础的同学,默认你已经掌握了基本的git命令用法,我将用较短的篇幅介绍一次完整的团队开发流程

1.克隆仓库

如果是第一次参与项目开发,需要从远程仓库拉取代码到本地:

git clone <远程仓库地址>

2.获取最新代码

开发之前拉取主分支代码,确保开始开发之前代码是最新的

git checkout <主分支,如 main 或 master>
git pull origin <主分支>

3.创建新的开发分支

git checkout -b feature/<功能名称>

相当于以下两个指令

git branch dev        //创建分支
git checkout dev      //切换到创建的分支

举个例子

git checkout -b feature/login

feature等前缀是团队约定好的,这样可以是新代码的目的更加明显,会更有利于沟通和管理。这里提供一些团队常用的分支命名:

  • main 或 master:主分支,稳定版代码
  • develop:开发分支,合并新功能前的测试分支
  • feature/xxx:新功能分支
  • bugfix/xxx :普通 bug 修复
  • hotfix/xxx 紧急修复(通常直接从 main 分支创建)
  • release/xxx 预发布版本
  • test/xxx 测试分支

4.开发与提交代码

在本地修改代码后,依次执行以下命令:

git add .
git commit -m "描述清晰的提交信息"

不应提交的文件

在使用 Git 进行开发时,有一些文件不应该提交到仓库,通常需要使用 .gitignore 文件 来忽略它们。

  • 依赖文件
    依赖文件可以通过包管理工具重新安装,无需提交
    比如Java 项目的的target/, .gradle/, .idea/
    Go 项目的bin/, pkg/
    Node.js 项目的node_modules/
    C++ 项目(CMake 或 Qt)的build/, CMakeCache.txt

  • 编译生成的二进制文件
    这些是编译后的文件,不需要提交:
    .o, .so, .a, .lib, .dll(C/C++ 编译文件)
    .class, .jar, .war(Java 编译文件)
    .pyc, .pyo(Python 编译文件)
    .exe, .out, .app(可执行文件)

  • 用户本地配置文件
    这些文件是开发者个人的配置,不应该提交:
    .vscode/, .idea/(IDE 配置文件)
    *.iml, .DS_Store, Thumbs.db(系统生成的文件)
    *.log(日志文件)
    *.swp(Vim 临时文件)

  • 环境变量和敏感信息
    包含密码、API 密钥、数据库配置的文件绝对不能提交:
    .env
    config.json
    secrets.yml
    private.key, id_rsa
    如果不小心提交了敏感文件,应该立即删除并修改密码或密钥!

  • 临时文件
    *.tmp, *.bak
    *.lock
    .gitignore 文件里 debug/ 之类的临时目录

5.同步远程代码

git checkout main   # 切换到主分支
git pull origin main  # 拉取最新代码
git checkout feature/xxx  # 切换回自己的开发分支
git merge main  # 把主分支的最新代码合并到自己的分支

如果合并过程中出现冲突,手动解决冲突后:

git add .
git commit -m "解决合并冲突"

然后再推送自己的分支:

git push origin feature/xxx

6.创建合并请求(Pull Request / Merge Request)

代码开发完成后,在远程仓库上创建合并请求(PR/MR)。
PR和MR都是合并请求
Pull Request (PR) 是 GitHub 的术语
Merge Request (MR) 是 GitLab/Gitee 的术语
它的作用是让团队成员审核你的代码,确保没有问题后才合并到主分支

创建PR/MR的方法

  • 点击“Compare & pull request”
  • 选择目标分支 main,填写代码变更描述(说明改了什么、为什么改)
  • 指定审核人(通常是你的上级或团队成员)
  • 提交 PR/MR,等待审核

代码审核

代码提交后,审核人会查看你的代码,如果有问题,你需要本地修改后重新 commit 并 push,PR/MR 会自动更新

审核通过 , 合并到主分支

审核人会执行最终合并操作:
审核通过后,点击Merge 按钮,合并你的 feature/xxx 分支到 main
合并后,远程仓库的 main 分支就包含了你的代码

7.删除已合并的分支

合并后,你的 feature/xxx 分支已经没用了,可以删除:

git branch -d feature/xxx  # 删除本地分支
git push origin --delete feature/xxx  # 删除远程分支

8.更新本地主分支

你的代码合并进 main 了,但本地 main 还是旧的,需要更新:

git checkout main
git pull origin main

到此,你就完成了一次完整的git开发流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coderzjy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值