差异:git clone , git fetch, git pull和git rebase

 

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 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 rebase

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

Finally

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

    原文作者:ConquerMobileApp
    原文地址: https://www.cnblogs.com/renkangke/p/3398452.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞