🤡主人公:张三 👨⚕️职位:搬砖全栈(前后端)开发
张三是一名勤奋微秃的软件工程师,在一家互联网公司负责项目的开发工作......

一.项目起步
1.克隆初始化
故事实例
公司接到了一个新的项目,需要开发一款全新的电商应用......

组长🤵:小张!项目组已经在远程代码托管平台上创建好了项目仓库,你去拉一下。等做完给你升职加薪(os:大饼给你喂到位) 张三🤡:收到!我先去把代码拉下来(公司是我家,我要把自己奉献给公司)
于是乎张三收到了热乎乎的远程仓库地址
关键命令
git clone <$url>
将远程仓库克隆到本地,其中$url是远程git仓库地址
bash
git clone https://gitee.com/javademon/shop.git
操作步骤
1.唤起Git bash
在工作文件夹,右击=》选择Open Git Bash here

2.输入克隆命令
git clone gitee.com/javademon/s...

3.输入账号密码
一般入职后,公司会给你分配gitlab或gitee等相关账号密码,不知道的话询问即可

4.代码拉取成功

2.创建业务主分支
故事实例
电商项目已克隆,需要创建一个迭代业务主分支......
因为项目迭代需要一个稳定主业务分支,每个小功能都从这个主业务分支拉取分支进行自己业务功能开发 ,这样保证业务互不干扰,使主业务分支是一个干净稳定可运行的分支

组长🤵:小张!主业务分支创建了吗,主业务分支名发你: feature-shop-v1.0.0-SNAPSHOT-20250726 张三🤡:懂了!先创建主业务分支,然后再拉取自己分支,等开发完再合并上来
Tips: 对于feature-shop-v1.0.0-SNAPSHOT-20250726分支命名等有疑惑,请看狗哥的这篇文章
关键命令
git checkout -b <$branch-name>
创建并切换到指定分支,其中$branch-name是要切换的分支
其中业务主分支为:feature-shop-v1.0.0-SNAPSHOT-20250726
bash
git checkout feature-shop-v1.0.0-SNAPSHOT-20250726
git push -u origin <$branch-name>
将指定分支推送到远程仓库,其中$branch-name是要推送的分支
bash
git push -u origin feature-shop-v1.0.0-SNAPSHOT-20250726
操作步骤
1.在项目根目录唤起Git bash
在shop文件夹,右击=》选择Open Git Bash here

2.创建主业务分支并切换到此分支
git checkout feature-shop-v1.0.0-SNAPSHOT-20250726

3.推送到远程仓库
git push -u origin feature-shop-v1.0.0-SNAPSHOT-20250726

二.日常开发
1.创建分支
故事实例
张三接到了分配的登录模块新任务,开始创建分支进行开发

组长🤵:小张!我觉得你技术不错,去吧登录模块开发一下吧!(os:小垃圾去开发最没用的模块吧) 张三🤡:相信我没问题,马上从主业务分支拉个新分支进行开发(os:领导竟然这么赏识我,我要好好干!)
关键命令
git checkout -b <$branch-name>
创建新分支并切换,其中branch-name是新创建的分支
bash
git checkout -b login-feature
操作步骤
1.在项目根目录唤起Git bash
在shop文件夹,右击=》选择Open Git Bash here

2.查看确认当前分支
git branch

3.创建自己业务分支
基于主业务分支,创建出自己登陆业务逻辑的login-feature
git checkout -b login-feature

2.功能提交
张三终于将登录任务开发完成,准备将代码提交...

张三🤡:这登录业务对于我来说太轻松了,轻松拿下,我这把代码提交上去闪瞎他们狗眼
关键命令
git status
查看文件状态
bash
git status
git add .
将文件添加到暂存区
bash
git add .
git commit -m "<$describe>"
将文件提交,其中$describe是提交描述
bash
git commit -m "feat(登录): 完成用户登录模块的基本功能"
操作步骤
1.创建登录对应的login.html

2.查看文件状态
git status

3.将文件添加到暂存区
git add .

git status
再次查看当前状态

4.将暂存区中的文件快照提交到本地仓库
git commit -m "feat(登录): 完成用户登录模块的基本功能"

3.功能合并
张三终于将代码提交本地仓库,接下来需要将登录分支合并到主业务分支
将login-feature分支合并到feature-shop-v1.0.0-SNAPSHOT-20250726分支

张三🤡:本地仓库已提交,现在就需要将login-feature分支(登录业务)合并到feature-shop-v1.0.0-SNAPSHOT-20250726(主业务分支)。 合并过程很顺利,没有出现冲突。张三成功地将新功能集成到了主分支
关键命令
git checkout <$branch-name>
切换到指定分支,$branch-name为分支名
bash
git checkout feature-shop-v1.0.0-SNAPSHOT-20250726
git merge <$branch-name>
将指定分支合并到当前分支,$branch-name为分支名
bash
git merge login-feature
操作步骤
1.切换到主业务分支
git checkout feature-shop-v1.0.0-SNAPSHOT-20250726

2.将登录业务分支合并到当前主业务分支
git merge login-feature

三.协同开发
1.代码拉取
故事实例
在项目开发过程中,团队成员之间需要不断地协作。有一天,张三的同事在远程仓库的主分支上提交了一些新的代码...

在张三紧锣密鼓开发时,另一个开发狗哥也投入开发。如果狗哥开发代码更新了,那张三就需要拉取最新的代码,他的本地代码也得到了相应的更新
关键命令
git pull origin <$branch-name>
拉取远程仓库代码,$branch-name为分支名
bash
git pull origin feature-shop-v1.0.0-SNAPSHOT-20250726
操作步骤
1.确定当前是否处于主业务分支
git branch
如果不在主业务分支,则需要通过git checkout feature-shop-v1.0.0-SNAPSHOT-20250726切换分支
2.拉取最新代码
git pull

2.代码推送
故事实例
主业务分支里面包含了登录业务,但是还没有推送远程仓库...

张三的登录业务已经合并到主业务分支,但是还没有推送到远程,于是乎...
关键命令
git push origin <$branch-name>
推送代码到远程,$branch-name为分支名
bash
git push origin feature-shop-v1.0.0-SNAPSHOT-20250726
操作步骤
1.确定当前是否处于主业务分支
git branch

如果不在主业务分支,则需要通过git checkout feature-shop-v1.0.0-SNAPSHOT-20250726切换分支
2.推送此分支代码到远程
git push origin feature-shop-v1.0.0-SNAPSHOT-20250726

四.解决冲突
1.冲突出现
故事实例
随着项目的推进,团队成员的开发任务越来越多,代码冲突也不可避免地出现了...

有一次,张三和另一位同事狗哥同时对登录界面的某个部分进行了修改。 当张三尝试将自己的分支合并到主分支时,出现了冲突。
关键命令
git merge <$branch-name>
将指定分支合并到当前分支,$branch-name为分支名
bash
git merge login-feature
操作步骤
1.狗哥先将主业务分支中登录模块修改

2.张三在login-feature分支对业务进行了修改
git checkout login-feature
修改其中login.html代码

将代码参考功能提交逻辑,将代码提交本地仓库,并将代码合并到主业务分支

3.将login-feature分支合并到主业务分支
切换到主业务分支, git checkout feature-shop-v1.0.0-SNAPSHOT-20250726

合并分支, git merge login-feature


2.解决冲突
故事实例
张三仔细分析了冲突的原因,根据项目的需求,对代码进行了调整,保留了双方合理的修改部分...

出现冲突别害怕,慢慢梳理解决冲突
操作步骤
1.分析业务冲突

2.手动解决冲突

3.将手动解决冲突代码重新提交并推送
git add . git commit -m "feat(解决冲突): 登录模块冲突解决" git push

五.版本回退
1.历史版本管理
故事实例
在项目测试阶段,测试人员发现了一个严重的 bug,经过排查,张三合并代码有问题...

关键命令
git log --oneline
查看提交历史
bash
git log --oneline
git reset --hard <$hashcode>
回退到指定版本,$hashcode为提交的哈希值
bash
git reset --hard 7ba6d6b
操作步骤
1.查看提交历史
git log --oneline

2.回退版本
通过上面提交历史,找到需要回退的版本

git reset --hard 7ba6d6b

3.版本推送
回退后,张三将本地的修改强制推送到远程仓库,确保所有团队成员的代码都恢复到了稳定版本。
git push -f origin
