• git pull 与 git pull --rebase



    git pullgit pull --rebase 命令都是从远端拉取代码,更新我们的仓库。

    前提知识

    四个区:

    • 工作区 :代码在本地存储的目录位置
    • 暂存区 :git可以追踪的代码(工作区可以将代码添加到暂存区(add))——临时存储
    • 本地库 :暂存区的代码可以提交到本地库(commit),并生成对应的版本 ——生成历史版本
    • 远程库:(远程库:如github)本地区的代码可以提交到远程库(push),并生成对应的版本 ——存储在远端

    区别git pull 与 git pull --rebase

    简单理解

    git pullgit pull --merge的简写。
    git pullgit pull --rebase 的关系如下:

    git pull = git fetch + git merge
    git pull --rebase =  git fetch + git rebase
    
    • 1
    • 2
    • git fetch是将远程库的最新内容拉到本地库,用户在检查了以后决定是否合并到工作区中。
    • git merge是将本地的两个分支合并,如果在分支A中执行git merge B,那就是将分支B中的代码合并到分支A中。
    • git pull 则是将远程主机的最新内容拉去到本地库后直接合并到工作区中,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
      图示表示:
      在这里插入图片描述
    • git rebase是将提交到某一分支上的所有修改都移至另一分支上。即如果在B分支上使用git rebase A就是将B分支上的修改都变基(移到)A分支上
      详见:https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA
    • git pull --rebase则是将远程主机的最新内容拉去到本地库后直接变基到工作区中,即:git pull --rebase = git fetch + git rebase,可能会产生冲突手动解决。
      图示表示:
      在这里插入图片描述

    git merge与git rebase

    通过上面的比较,git pull 与 git pull --rebase的区分实际上就是git merge与git rebase的区分。为了方便区分我们使用两个不同名分支进行讲解。

    • git merge是合并分支。是将yang分支合并到master分支之后,master分支的代码有所改动,会自动commit,生成一个新的结点,并且不会影响之前两分支的提交节点。
      合并前:
      在这里插入图片描述

    合并后:
    在这里插入图片描述
    执行的合并命令:

    $ git checkout master
    $ git merge yang
    
    • 1
    • 2
    • git rebase是变基。是将yang分支变基到master分支,就是将yang分支的代码改动完全合并到master分支,不会生成新的结点。
      变基前:
      在这里插入图片描述
      变基后:

    在这里插入图片描述
    执行的变基命令:

    $ git checkout yang
    $ git rebase master
    
    • 1
    • 2

    然后再执行如下命令,是master分支指向最新节点

    $ git checkout master
    $ git merge yang
    
    • 1
    • 2

    在这里插入图片描述
    由此可以看出merge和rebase的区别:

    • merge 会多出一次 commit生成一个新节点,rebase不会。
    • merge 的提交树是非线性的,rebase 的提交树是线性的(通过重写提交历史)。
  • 相关阅读:
    生而无味 无为
    Lurk——Recursive zk-SNARKs编程语言
    内排序算法
    软件设计模式白话文系列(五)建造者模式
    PyTorch
    qtcreator调试webkit
    OSPF基础:OSPF工作原理以及优点、OSPF的缺点、OSPF配置方法、DR与BDR的选举原理
    E.密码(算法选修)
    【模型提分tricks】Adversarial Weight Perturbation(AWP)对抗训练
    python爬取百度图片
  • 原文地址:https://blog.csdn.net/mantou_riji/article/details/126762563