问答

关于git的问题?

作者:admin 2021-06-16 我要评论

场景1 (pull前) 一开始本地没有拉取远程最新的develop分支,但是远程develop分支已更新,在本地分支feature/update,使用git diff origin/develop,会出现几个...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

场景1 (pull前)

一开始本地没有拉取远程最新的develop分支,但是远程develop分支已更新,在本地分支feature/update,使用git diff origin/develop,会出现几个版本杂糅的差异,

场景2 (pull后)

但是本地切换到develop分支后,并pull之后,再次切换到feature/update分支,使用git diff origin/develop,就不会出现几个版本的差异了

这是什么原因尼??

###

你大概是以为 origin 开头的分支是和远端保持一致的了?

当你 git clone 一个仓库到本地之后,除了一个默认的本地分支(默认是 master,是可以配置的),还包含远端仓库在你 clone 的那一刻的 所有分支,tag.这个时候,origin 仅仅是你远端仓库的一个别名, 比如,你指定 https://github.com/test/test 为 origin, 这时你本地的 origin/develop 的意思是,你本地 git 仓库中 你从 github.com/test/test clone/fetch 时,远端 develop 分支在你本地仓库中的一个副本.

当你 本地 git pull 或者 git fetch 之后,做的事情就是把你的 origin/develop 和 远端仓库的 develop 分支进行一次同步(只是这个同步的意思,实际上会根据你的命令参数,会选择 merge 或者 rebase 的操作).这个时候,你本地的 origin/develop 就和远端仓库一致了.但是也仅仅是这一时刻,因为其他人可能会更新远端分支.导致你本地的 origin/develop 分支再次落后.

###

我明白你的意思,你可以做个试验,在断网的时候,去执行diff origin ,会不会执行成功?这里推荐下方幽灵的答案

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 关于git的问题?

    关于git的问题?

  • golang 怎么定义一个多维map

    golang 怎么定义一个多维map

  • golang 报错 segmentation violation c

    golang 报错 segmentation violation c

  • ts的泛型语法在jsx中看着真不舒服

    ts的泛型语法在jsx中看着真不舒服

腾讯云代理商
海外云服务器