灰灰鼠精灵 发表于 2018-1-15 15:28:32

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

  Git Pull
  据我所知,当你使用git pull时,它将会获取远程服务器(你请求的,无论什么分支)上的代码,并且立即合并到你的本地厂库,Pull是一个高等级的请求,默认会支持Fetch和merge的操作,如果不是为了使用上的方便,你可以完全不使用它。
$git checkout localbranch$git pull origin master$git branchmaster *localbranch  上面的命令会将远程服务器上的master分支合并到localbranch中。
  Git Fetch
  fetch和pull很相似,只是fetch不会做任何的合并操作。
$git checkout localbranch$git fetch origin remotebranch$git branchmaster*localbranchremotebranch  因此,fetch指是获取remotebranch,然后创建一个本地copy,你不应该直接对这个copy做任何的操作,而应该应该创建一个本地分支,然后在本地分支上进行工作。
  Git Clone
  clone将会克隆一个本地厂库,
$cd newfolder$git clone git@github.com:whatever/something.git$git branch*masterremotebranch  clone会为它被克隆的远程repo创建一个名为“origin”的local repo,并为远程repo的活动分支创建一个本地分支以及远程跟踪分支。
  git rebase
  这个命令相当的cool,你对当前分支所作的任何改变都被保存到一个临时区域,因此你的分支将会和改变之前一样干净。如果你用git pull -rebase,git将会获取远程的改变,遍历当前本地分支,然后替换你当前分支的所有改动。
  Finally
  如果你在使用过程中遇到了问题,使用git branch -a,它会显示本地厂库的所有分支:本地的,远程的。这是一个很好的杀手锏,请记住,git bracches只是一个pointer。所以为了能够处理这些提交请求,你需要一个本地分支,通过本地分支你可以获取这些提交。
页: [1]
查看完整版本: 差异:git clone , git fetch, git pull和git rebase