IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git进阶(一)——git rebase和merge区别 -> 正文阅读

[开发工具]Git进阶(一)——git rebase和merge区别

Git进阶(一)——git rebase和merge区别

1.1 什么是分支

分支就是便于多人在同一项目中的协作开发。比方说:每个人开发不同的功能,在各自的分支开发过程中互不影响,完成后都提交到develop分支。极大的提高了开发的效率。

1.2 合并分支

每个人创建一个分支进行开发,当开发完成,需要合并到develop分支的时候,就需要用到合并的命令。

1.3 什么是冲突

合并的时候,有可能会产生冲突。

冲突的产生是因为在合并的时候,不同分支修改了相同的位置

所以在合并的时候git不知道哪个到底是你想保留的,所以就提出疑问(冲突提醒)让你自己手动选择想要保留的内容,从而解决冲突

例如:

div1分支下,对文件里边的内容进行修改

image-20220829104910766

然后上传

git add .
git commit -m"div1进行提交"
git checkout master
git merge dev1
git push

上传成功之后,我们在切换到dev分支之下,我们可以看到 div 分支之下的文件当中并没有我们在dev

分支之下的文件当中写的内容,现在我们重写一个新的内容

image-20220829104937457

同样进行上传,但是当我们在合并分支的时候却出现冲突

image-20220829105155754

打开我们的文件

image-20220829105215318

这说明我们产生了冲突,我们必须手动解决冲突,只需要我们保留我们想要的结果

image-20220829105230169

git merge 和 git rebase 比较

  • merge和rebase都是用来合并分支的
  • 采用merge和rebase后,git log的区别,merge命令不会保留merge的分支的commit,rebase会保留所有的commit
  • 采用merge和rebase后,git log的区别,merge命令不会保留merge的分支的commit,rebase会保留所有的commit
  • git rebase 让我们的提交记录更加清晰可读

image-20220829104113007

rebase会把你当前分支的 commit 放到公共分支的最后面,所以叫变基。就好像你从公共分支又重新拉出来这个分支一样。

image-20220829104215016

merge 会把公共分支和你当前的commit 合并在一起,形成一个新的 commit 提交

image-20220829104230935

处理冲突的方式

  • (一股脑)使用merge命令合并分支,解决完冲突(手动),执行git add .git commit -m'fix conflict'。这个时候会产生一个commit。
  • (交互式)使用rebase命令合并分支,解决完冲突(手动),git add .git rebase --continue'。,不会产生额外的commit。这样的好处是,‘干净’,分支上不会有无意义的解决分支的commit;坏处,如果合并的分支中存在多个commit,需要重复处理多次冲突。
  • CONFLICT => 表明该文件有冲突,被至少2人修改。

  • 解决

    • 查看日志,去线下和对应修改人员沟通,确定如何修改。
  • 切忌在协作开发时,随意修改或者删除他人代码

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:32:17  更:2022-09-04 01:35:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 15:57:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码