git fetch 、git pull 与 git pull --rebase

  1. git fetch 与 git pull

  都是从远程拉取代码到本地,git fetch只是拉取到本地,git pull不仅拉取到本地还merge到本地分支中。所以git pull是git fetch与git merge的集合体。 
  

  2. git pull 与 git pull --rebase

git pull的默认行为是git fetch + git merge, 
  git pull --rebase则是git fetch + git rebase.

  从目的来说,两者没差别,运行之后, 能获得一样的code base。但从版本管理角度,这两者有各自的使用意义。对比来看,git merge多了一次提交--“合并提交”。git rebase则没有。

  git merge:
  简单来说,它把两条不同分支历史的所有提交合并成一条线,并在“末端”打个结,即生成一次合并提交。最后形成一条单一的提交线。

  git rebase:
  根据参数的不同,行为有些差别。但总的来说,它相当于把分叉的两条历史提交线中的一条,每一次提交都捡选出来, 在另一条提交线上提交。最后也形成一条单一的提交线。

  表示把本地当前分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把本地当前分支更新 为最新的"origin"分支,最后把保存的这些补丁应用到本地当前分支上。

  在rebase的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行:

  $ git rebase --continue

  这样git会继续应用(apply)余下的补丁。

  在任何时候,你可以用--abort参数来终止rebase的行动,并且"mywork" 分支会回到rebase开始前的状态。

  $ git rebase --abort

  

  

时间: 2024-10-27 07:30:19

git fetch 、git pull 与 git pull --rebase的相关文章

git 学习(git fetch/ git pull/ git rebase/ git cherry-pick的区别)

使用git做开发管理: 1. Git clone  将远程代码克隆到本地: 2. Git branch  查看本地branch (git clone 时会创建 master) 3. git branch -a  查看本地和远程分支:(远程分支包括 remotes/origin/master 远程master分支) 4. Git remote -v 查看远程库对应的简短名称 (origin  ...) 5. Git checkout -b bug origin/master 创建本地开发分支 6.

Git fetch和git pull的区别

2013-03-04 10:58 65080人阅读 评论(4) 收藏 举报 Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge Git fetch origin mastergit log -p master..origin/mastergit merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上 然后比较本地的m

git fetch 和 git pull 的区别

Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin master git log -p master..origin/master git merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上 然后比较本地的master分支和origin/master分支的差别 最后进行合并 上述

git fetch 和 git pull 的差别

Git中从远程的分支获取最新的版本号到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本号到本地,不会自己主动merge git fetch origin master git log -p master..origin/master git merge origin master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本号到origin/master分支上 然后比較本地的master分支和origin/master分支的区别 最后进行

Git 代码更新:git fetch 和 git pull 的区别

Git 从远程的分支获取最新的版本到本地有这样 2 个命令: 1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge git fetch origin master git log -p master origin/master git merge origin/master 以上命令的含义: 首先从远程的 origin 的 master 主分支下载最新的版本到 origin/master 分支上 然后比较本地的 master 分支和 origin/master 分支

Git fetch和git pull的区别(转)

原文: http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log -p master..origin/mastergit merge origin/master 以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到origin/master分支上  

[转] git fetch与pull

原文: http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log -p master..origin/mastergit merge origin/master 以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到origin/master分支上  

转Git fetch 和 pull 的区别

原文:http://blog.csdn.net/hudashi/article/details/7664457 Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log -p master..origin/mastergit merge origin/master 以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到origin

git fetch和pull的区别

Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge 1 2 3 Git fetch origin master git log -p master..origin/master git merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上:然后比较本地的master分支和origin/master分支的差别:最后进

GITpull 和git fetch的区别

Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动mergegit fetch origin mastergit log -p master..origin/mastergit merge origin/master     以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到origin/master分支上   然后比较本地的master分支和origin/master分支的差别   最后进