Git Pull
据我所知,当你使用git pull时,它将会获取远程服务器(你请求的,不管什么分支)上的代码,而且当即合并到你的本地厂库,Pull是一个高等级的请求,默认会支持Fetch和merge的操做,若是不是为了使用上的方便,你能够彻底不使用它。git
1
2
3
4
5
|
$git checkout localbranch
$git pull origin master
$git branch
master
*localbranch
|
上面的命令会将远程服务器上的master分支合并到localbranch中。bash
Git Fetch服务器
fetch和pull很类似,只是fetch不会作任何的合并操做。fetch
1
2
3
4
5
6
|
$git checkout localbranch
$git fetch origin remotebranch
$git branch
master
*localbranch
remotebranch
|
所以,fetch指是获取remotebranch,而后建立一个本地copy,你不该该直接对这个copy作任何的操做,而应该应该建立一个本地分支,而后在本地分支上进行工做。spa
Git Clonecode
clone将会克隆一个本地厂库,ci
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的活动分支建立一个本地分支以及远程跟踪分支。rem
git rebaseit
这个命令至关的cool,你对当前分支所做的任何改变都被保存到一个临时区域,所以你的分支将会和改变以前同样干净。若是你用git pull -rebase,git将会获取远程的改变,遍历当前本地分支,而后替换你当前分支的全部改动。io
Finally
若是你在使用过程当中遇到了问题,使用git branch -a,它会显示本地厂库的全部分支:本地的,远程的。这是一个很好的杀手锏,请记住,git bracches只是一个pointer。因此为了可以处理这些提交请求,你须要一个本地分支,经过本地分支你能够获取这些提交。