当前位置: 首页 > news >正文

git pull 与 git pull --rebase的区别与使用

git pull 与 git pull --rebase的区别与使用

  • 1. 优化commit很乱的记录
    • 1.1 解决问题
      • 例子
    • 1.2 idea 中更新代码

1. 优化commit很乱的记录

课程:优化Commit记录
之前遇到过这个问题,已知没当回事,现在想做出改变,正好B站有个视频,就跟着学习一下。
在这里插入图片描述

首先git pull命令是git fetch+git merge,当你和你的同时同时在操作一个分支,并且修改的代码也有交集,那么你push的时候就会被reject然后你执行git pull,但是由于你提交的代码和你的同事代码存在相同的祖先,那就git pull 就会自动生成一个commit记录并且会创建一个merge记录(如下图)。

在这里插入图片描述
在这里插入图片描述

而我们要做的就是把自己的提交挂在同事的提交之后,这时我们要做的就是使用git pull --rebase 命令完成这次操作。 git pull --rebase 就是 git fetch + git rebase

在这里插入图片描述

1.1 解决问题

首先,一个账户提交了代码。
然后我修改了代码,但是我在提交前我需要进行pull,这时候我们就用git pull --rebase
如果有冲突就需要解决冲突,此时current代表的是远端 incomming代表的是本地代码
最后我们就用 git rebase --contine保持解决冲突的状态(这时候不能用git commit)

设置git pull 默认的操作就是git pull --rebasegit config pull.rebase true
在这里插入图片描述

例子

在这里插入图片描述
远程新建一个a.js文件并提交。然后本地也新建a.js文件然后再相同行写了代码
在这里插入图片描述

在这里插入图片描述
这里执行 git pull --rebase

解决冲突后再执行 git rebase–continue,最后在push
在这里插入图片描述

执行 git log --graph记录,看到不会有merge的记录

在这里插入图片描述

1.2 idea 中更新代码

在这里插入图片描述
在这里插入图片描述

相关文章:

  • Python Cookbook-1.13 访问子字符串
  • 用React实现一个登录界面
  • docker修改镜像默认存储路径(基于 WSL2 的迁移方法)
  • 【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus
  • 嵌入式学习第十六天--stdio(二)
  • 【PHP】php+mysql 活动信息管理系统(源码+论文+数据库+数据库文件)【独一无二】
  • Ubuntu 系统 cuda12.2 安装 MMDetection3D
  • LeetCode--23. 合并 K 个升序链表【堆和分治】
  • 从零开始部署DeepSeek:基于Ollama+Flask的本地化AI对话系统
  • Everything——你的文件搜索效率革命
  • 如何在 VS Code 中快速使用 Copilot 来辅助开发
  • Java高频面试之SE-22
  • 【LeetCode】560.和为K的子数组
  • 使用 MySQL 从 JSON 字符串提取数据
  • 内部知识库:安全协作驱动数字化转型新路径
  • 【Linux AnolisOS】关于Docker的一系列问题。尤其是拉取东西时的网络问题,镜像源问题。
  • 百达翡丽(Patek Philippe):瑞士制表的巅峰之作(中英双语)
  • C++和OpenGL实现3D游戏编程【总览】
  • spring cloud 微服务部署(2025年)第一章:Nacos、LoadBalancer、GateWay、Ribbon集成之Nacos部署
  • 鼠标悬浮到某个 <li> 元素时,将 hoverLiData 更新为当前 item 的 id
  • 新时代,新方志:2025上海地方志论坛暨理论研讨会举办
  • 本周看啥|《歌手》今晚全开麦直播,谁能斩获第一名?
  • 广西壮族自治区党委副书记、自治区政府主席蓝天立接受审查调查
  • 证监会:2024年依法从严查办证券期货违法案件739件,作出处罚决定592件、同比增10%
  • 齐白石精品在波士顿展出,“白石画屋”呈现水墨挥洒
  • 金砖国家召开经贸联络组司局级特别会议,呼吁共同抵制单边主义和贸易保护主义