gitlab【git pull原理】

1.git fetch

//获取所有分支
$git fetch
//获取指定分支
g i t f e t c h b r a n c h N a m e ,如 git fetch branchName,如 gitfetchbranchName,如 git fetch origin master

本地仓库是分为两个部分,一个是版本库,也就是本地仓库,另一个是工作区,就是修改代码的地方,我们要提交代码,实际上要先把工作区修改的代码commit到本地版本库,然后再push到远程仓库

而$git fetch就是将远程仓库的代码更新到版本库,而工作区的代码并不会变化,然后我们可以用本地仓库工作区中的代码compare with版本库中的代码,然后看有没有冲突,有就解决,没有就可以放心的把版本库中最新的代码更新到工作区中

2.git merge

g i t m e r g e o r i g i n / x x x 如 git merge origin/xxx 如 gitmergeorigin/xxxgit merge origin/develop

将目标分支和当前分支合并,这个操作会把版本库中目标分支最近版本代码更新到当前工作区中
3.pull

git pull origin master

pull=fetch+merge,如果明白了上面两条,就不难理解为什么很多文章说pull=fetch+merge,因为pull是同时更新工作区和暂存区,比较暴力

4.举例说明为什么在开发中使用fetch+merge代替直接的pull

比如我们组项目开发的分支是develop,我自己开发的分支是doSomething,那么我每天提交前都要先fetch一下develop,把最新的develop代码拉到本地版本库中
然后去选择develop然后compare with current,也就是拿版本库中的develop和当前分支doSomething的代码进行比较,看看有没有冲突,有就解决冲突,没有就直接选中develop然后merge into current把develop合并到当前分支,然后才能提交,这样组长/管理人员在将组员的各个分支合并为一个分支的时候才不会代码冲突

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值