git pull,git clone,git fetch,git rebase

原创 2013年12月02日 23:05:04

刚开始用git,对于clone,pull,fetch,rebase不太明白它们的区别,整理了一下,做个比较

Git Clone

clone将会克隆一个本地厂库,

1
2
3
4
5
$cd newfolder
$git clone git@github.com:whatever/something.git
$git branch
*master
remotebranch

clone会为它被克隆的远程repo创建一个名为“origin”的local repo,并为远程repo的活动分支创建一个本地分支以及远程跟踪分支。

 

Git Pull
据我所知,当你使用git pull时,它将会获取远程服务器(你请求的,无论什么分支)上的代码,并且立即合并到你的本地厂库,Pull是一个高等级的请求,默认会支持Fetch和merge的操作,如果不是为了使用上的方便,你可以完全不使用它。

1
2
3
4
5
$git checkout localbranch
$git pull origin master
$git branch
master 
*localbranch

上面的命令会将远程服务器上的master分支合并到localbranch中。

Git Fetch

fetch和pull很相似,只是fetch不会做任何的合并操作。

1
2
3
4
5
6
$git checkout localbranch
$git fetch origin remotebranch
$git branch
master
*localbranch
remotebranch

因此,fetch指是获取remotebranch,然后创建一个本地copy,你不应该直接对这个copy做任何的操作,而应该应该创建一个本地分支,然后在本地分支上进行工作。

 

git rebase

这个命令相当的cool,你对当前分支所作的任何改变都被保存到一个临时区域,因此你的分支将会和改变之前一样干净。如果你用git pull -rebase,git将会获取远程的改变,遍历当前本地分支,然后替换你当前分支的所有改动。

Finally

如果你在使用过程中遇到了问题,使用git branch -a,它会显示本地厂库的所有分支:本地的,远程的。这是一个很好的杀手锏,请记住,git bracches只是一个pointer。所以为了能够处理这些提交请求,你需要一个本地分支,通过本地分支你可以获取这些提交。

相关文章推荐

git clone,push,pull,fetch命令详解。(转载)

本文转载自 http://www.ruanyifeng.com/blog/2014/06/git_remote.html Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能...

Git远程操作详解(clone、remote、fetch、pull、push)

Git远程操作详解(clone、remote、fetch、pull、push)

Eclipse上GIT插件EGIT使用手册之十一_Fetch和Rebase

MairoBro来做fetch和rebase的测试,首先Mairo弟弟在client中添加文件OPQ分别提交,并push到服务器,如图: 此时服务器端的历史已经被更新,但是Mairo哥哥的rem...

Eclipse上GIT插件EGIT使用手册之十一_Fetch和Rebase

MairoBro来做fetch和rebase的测试,首先Mairo弟弟在client中添加文件OPQ分别提交,并push到服务器,如图: 此时服务器端的历史已经被更新,但是Mairo哥哥的rem...

git pull —rebase ?

一、基本 git rebase用于把一个分支的修改合并到当前分支。 假设你现在基于远程分支”origin”,创建一个叫”mywork”的分支。 $ git checkout -b mywork ...
  • chi1130
  • chi1130
  • 2017年06月17日 19:25
  • 86

Git pull 和fetch merge的区别, 单独更新某一个文件

我最常说的关于git使用的一个经验就是: 不要用git pull,用git fetch和git merge代替它。 git pull的问题是它把过程的细节都隐藏了起来,以至于你不用去了解git中...

版本管理-图解Git的分支管理原理,深度分析fetch和pull区别

Git与SVN版本控制的思想有哪些不同?图形化描述了Git的核心概念和分支管理。...

git pull fetch 更新本地文件区别

http://my.oschina.net/xinxingegeya/blog/496278 Git中pull对比fetch和merge 使用git fetch和git pull都可以...

git入门-----远程操作相关命令(remote 、push、fetch 、pull)

网上的一个挺系统的图:   1、远程库相关的操作命令       1.1、git remote :为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就...

Git多用Fetch少用Pull

Git 少用 Pull 多用 Fetch 和 Merge 本文有点长而且有点乱,但就像Mark Twain Blaise Pascal的笑话里说的那样:我没有时间让它更短些。在Git的邮...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git pull,git clone,git fetch,git rebase
举报原因:
原因补充:

(最多只允许输入30个字)