团队开发中的git范式流程

0. 前言

本文适合刚开始上手git版本管理工具做开发的新手来阅读学习,养成规范开发的习惯
下面以一个实际的GitHub的project segment-anything 来做示范,演示如何在团队开发中规范使用git

在此之前先介绍一下git的主要空间分区如下所示:

工作区(Working Directory)
        ↓ git add
暂存区(Staging Area / Index)
        ↓ git commit
本地仓库(Repository)
        ↓ git push
远程仓库(Remote Repository)

1. fork

首先将你要贡献的project先fork到自己的GitHub中,这样你就可以在自己的origin仓库中开发而不影响到团队的upstream仓库
,

2. git clone

接着就是将远程的origin仓库克隆到本地个人仓库,使用如下的命令:

git clone https://github.com/cantonice/segment-anything.git

如果使用的是https协议就复制图中所示的这个url跟在clone后面,如果用的是ssh同理
image

3. git pull

在克隆完成之后,先不要急着开发,在开发之前要记得git pull拉取最新的团队代码来同步一下本地的开发,也可以用分解的操作git fetch origin main+git rebase/merge main

4. git checkout

现在已经准备好在已有的仓库进行开发了,但是在此之前一定要主要我们不要直接在main分支就开发,因为我们要有一种意识就是main分支在团队开发中是属于公共财产,不是私人的想怎么样就怎么样的,虽然这里的main也是自己origin中的,但是最后如果PR还是会有一定的误会,所以从刚开始就要规范开发习惯,应该现在本地创建一个开发分支,一般来说有以下几种分支:

feat/xxx  // 全称feature,表示新增功能类型的分支
fix/xxx  // 全称bugfix,表示修复bug用的分支
style/xxx  // 改变格式风格
docs/xxx  // 改变文档用的分支
refactor/xxx  // 重构代码的分支,逻辑不改变

下面以新增一个功能为示范来创建一个分支来做开发,比如我做了一个推理的功能,我可以像下面这样来创建一个分支:

git checkout -b feat/inference

这个表示创建了一个叫做feat/inference的分支,然后切换到这个分支上
接下来你就可以自己在这个分支上开发一个推理的功能的具体实现

5. git add

新增或者修改了文件后要记得将文件添加到本地的暂存区,使用如下命令

git add <filename>

6. git commit

养成良好的习惯多提交,记录每一个微小的改动

git commit -m "feat:a infernce"

7. git fetch

在我们开发的期间,远程的分支可能不是一成不变的,可能有其他同事贡献了自己代码,所以在push上去之前,先要和远程的仓库对齐一下,这个时候就要用到git fetch

git fetch origin

8. git rebase or git merge

在将origin的代码拉下来之后,我们要将自己的代码“接”上去,这个时候就有两种方式了,如下所示:

// type A
git rebase  // rebase中文翻译变基,执行这个相当于将我们本地的分支接在远程拉下来的分支上
// type B
git merge  // 这个就是相当于将两个分支合并在一起

9. git push

最后一步就是将我们的代码push到origin中

git push origin feat/inference

10. 结语

在团队合作中,git是一个非常好用的利器,本文对团队开发中git的使用规范做了一个简单好上手的范式教程,流程总览如下图所示,希望能帮到正在学习的同学。在没有形成规范的操作之前,大部分人都会有过或大或小的代码冲突、版本管理混乱等问题,后期我会写一些关于conflict的处理、branch管理的细节问题处理方法,敬请期待....
Gemini_Generated_Image_qrrxvhqrrxvhqrrx

posted @ 2026-04-11 00:34  Cantonice  阅读(24)  评论(0)    收藏  举报