关于git的问题?
场景1 (pull前)
一开始本地没有拉取远程最新的develop分支,但是远程develop分支已更新,在本地分支feature/update,使用git diff origin/develop,会出现几个版本杂糅的差异,
场景2 (pull后)
但是本地切换到develop分支后,并pull之后,再次切换到feature/update分支,使用git diff origin/develop,就不会出现几个版本的差异了
这是什么原因尼??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你大概是以为 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 ,会不会执行成功?这里推荐下方幽灵的答案