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

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 中更新代码

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


http://www.kler.cn/a/551180.html

相关文章:

  • 【Elasticsearch】`nested`和`flattened`字段在索引时有显著的区别
  • 如何使用 DeepSeek + Kimi 自动生成PPT
  • 深度学习在半导体领域的创新点研究
  • Redis(高阶篇)01章——单线程 VS 多线程(入门篇)
  • 14、《SpringBoot+MyBatis集成(2)——进阶配置XML与注解的灵活运用》
  • Axure PR 9 中继器 02 分页提示
  • Linux下的Python开发环境
  • PySide6 GUI 学习笔记——常用类及控件使用方法(常用类尺寸QSize)
  • Bash语言的测试开发
  • idea 2023.3.7常用插件
  • Typora导出word文件详细安装教程
  • 如何优化数据库Update锁竞争
  • 【Excel笔记_6】条件格式和自定义格式设置表中数值超过100保留1位,超过1000保留0位,低于100为默认
  • 【Python 语法】Python 正则表达式(regular expressions, regex)
  • Vue3 与 TypeScript 实战:核心细节与最佳实践
  • Redis之主从复制
  • Java 基于 SpringBoot+Vue 的动漫平台(附源码,文档)
  • Android RenderScript API废弃,迁移到高性能renderscript-toolkit及耗时优化,Kotlin
  • 设计模式14:职责链模式
  • 深入 Go 语言核心:map 和 slice 的传参有什么不同