首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
开源技术
›
开源技术
›
Git 堆栈中 -- 代码辩说产生、定位、办理的流程 ...
返回列表
发新帖
Git 堆栈中 -- 代码辩说产生、定位、办理的流程
[复制链接]
发表于 2026-2-6 01:02:02
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
前置知识
远程堆栈:
是指
存储
在远程
服务器
上的Git堆栈,如 github、gitee 中创建的堆栈
当地堆栈:
是指
存储
在开辟者当地皮算机上的Git堆栈。开辟者可以在当地堆栈中举行
代码
修改,而这些变动只影响到当地堆栈。开辟者可以将当地堆栈中的
代码
推送(Push)到远程堆栈,也可以从远程堆栈拉取(Pull)最新的
代码
到当地堆栈。
1 工具环境
git + tortoisegit
2 辩说的产生
举例分析,在当前分支上,有一段代码是如许的
<h2>金融领域情感分析系统</h2>
复制代码
职员 A 开始开辟,将代码修改为如下
<h2>金融领域情感分析系统,第一次更改</h2>
复制代码
而且将代码 push 到远程堆栈
但是在 A 将代码 push 之前,职员 B 就开始开辟,将代码修改为如下
<h2>金融领域情感分析系统,第二次更改</h2>
复制代码
A 职员 push 代码后,B 才开辟完,准备提交代码,但由于 A B 都修改了同一行代码,就造成了代码辩说,无法 push 上去
下面 DEMO 纪录了辩说产生、探求、办理的完备流程
2.1 堆栈中的源代码
源代码如下:
如今有两个职员 A、B 举行开辟任务,基于当前代码 clone 到当地
2.2 职员 A 起首更改代码
A 将代码举行修改,并 push 代码至远程堆栈
2.3 职员 B 更改代码,产生辩说
B 职员原来代码如下
为了模仿代码辩说,修改代码如下
然后 B 实验 commit,commit 是不会有错误的,如下图
commit 乐成后,举行 push 操纵,到这一步就会提示 error,如下图
2.3.1 第一次错误提示:
上图的的赤色error,表明:
这是由于远程库与当地库代码不划一造成的
。
说寻常点,就是远程堆栈存在一些新代码,你没有拉取 (pull),根据下面的提示也可以知道,我们必要举行 git pull 操纵
接下来实验 git pull 下令, git pull 会拉取远程堆栈的代码至当地,举行代码归并
2.3.2 第二次错误提示:
如下图,我实验了 git pull,盼望将远程堆栈的代码拉取同步,一样寻常环境下,远程堆栈的代码会自动归并到我的当地,
但是!由于 A B 职员修改过同一行代码,肯定会造成辩说
,。git pull会提示错误:
CONFLICT (辩说)
图中有两处信息提示值得我们留意:
1 提示:CONFLICT (content): Merge conflict in src/components/myHeader.vue,
表现该文件存在辩说
2 提示:Automatic merge failed; fix conflicts and then commit the result.,
表现必要我们自己手动办理辩说,然后再次举行 commit
说寻常点,就是由于 A B 职员修改过同一行代码,肯定会造成辩说,必要我们自己手动办理辩说,也就是,我们手动对代码举行归并,将辩说的代码归并起来,再重新举行 commit push
3 查察辩说
下面我们来看看是哪些详细代码产生了辩说
此时我们打开文件夹,可以看到有辩说的文件会携带一个 黄色的告诫标识
我们使用 VScode 打开,可以看到当前代码会使用如下符号,将代码分隔开
<<<<<<<<<HEAD
代码
==========
代码
>>>>>>>>>>
复制代码
如下图所示:
这些 <<<<< >>>>> 符号表现什么意思?我将这里分为三个告急的部门
1 黄色地区:为我们提供了一些快捷的办理辩说方式
接纳当前更改:代码会扬弃职员 A 的更改,仅保存职员 B 的更改,一样寻常不会使用
接纳传入的更改:代码会扬弃职员 B 的更改,仅保存职员 A 的更改,一样寻常不会使用
保存双方更改:A 和 B 的更改都会被保存下来,一样寻常不会使用
比力变动:会打开一个界面,我们可以更清晰的看到代码变动
2 赤色地区:这里是职员 B 修改的代码,即本次提交作者改的代码
3 绿色地区:这里是职员 A 修改的代码,即上一次提交作者改的代码
到此,我们就知道了那里的代码产生了辩说
4 手动办理辩说
接下来,我们要手动,将辩说的代码归并起来
4.1 方式一
方式一是使用编辑器 vscode 举行修改,打开编辑器,如下图
上一节中,已经表明了 <<<<< 和 >>>>>> 分隔代码的寄义
假设我们如今盼望,A B的代码都保存,即保存全部文案:“第一次更改”和“第二次更改”和“”按钮,我们只必要在编辑器中,将代码归并为我们盼望的样子,并删除多余的内容,如下图所示
生存后,然后右键选择文件,点击 resolve,表现将辩说已包办理,文件的黄色告诫就会消散
4.2 方式二(tortoisegit)
左上:职员 A 的修改
右上:职员 B 的修改
下面:我们必要手动处理惩罚归并,即我们盼望怎么保存代码,将代码写在下面
此中,黄色表现该部门代码已被删除,我们要将保存的代码写在赤色地区
假如我们盼望,
将职员A的修改,和职员B的修改都保存
,那么可以在下面的地区,将文案“第一次更改”“第二个更改”都添加上,即代码会被归并为如许
生存关闭窗口,右键选择文件,点击 resolve,表现将辩说已包办理,文件的黄色告诫就会消散
5 归并辩说后重新commit
到这里,我们已经将辩说归并
我们必要重新举行 commit 和 push操纵
此时,message 上自动会有文案如下图
表现当前 commit 的代码归并了辩说
点击 commit ,会出现弹窗,点击 ignore
6 归并辩说后重新 push
实验 git push,代码提交乐成
进入 github 堆栈中,查察代码,是我们手动归并后的效果
到此代码辩说的题目就办理好了
回复
使用道具
举报
返回列表
浏览过的版块
鸿蒙
DevOps与敏捷开发
数据仓库与分析
物联网
程序人生
Java
SAAS
linux
光之使者
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表