git - 尽管无法连接到我的 git 服务器,Git 如何跟踪分支状态
问题描述
我的公司使用 VPN 来限制对公司网络的访问。我们的 Git 服务器位于该公司网络上,因此需要 VPN 才能访问。
最近,当我在本地签出 master 时,我得到了以下输出:
Your branch is behind 'origin/master' by 33 commits, and can be fast-forwarded.
但是,当我尝试拉主服务器时,我得到了以下信息,因为我没有连接到 VPN:
squishman@squishman-Parallels-Virtual-Platform:~/SkyATF$ git pull origin master
ssh: Could not resolve hostname [REDACTED]: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我的问题是,如果 Git 无法连接到 git 服务器,它如何知道我的本地 master 落后多远?
解决方案
我的问题是,如果 Git 无法连接到 git 服务器,它如何知道我的本地 master 落后多远?
它没有。
它知道你落后了多远,最后一次你的 Git 从另一个 Git 获得更新。一个成功的git fetch
更新,你会得到一个仅仅过时几秒而不是几分钟的答案。
您看到的计数是将分支的提交(通过 找到git rev-parse HEAD
)与分支的上游提交 ( git rev-parse HEAD@{upstream}
) 进行比较的结果。跑步git rev-list --count --left-right HEAD...HEAD@{u}
将分别为您提供领先和落后的数字。(这个三点语法和--count --left-right
解释起来有点棘手,尽管gitrevisions 文档和文档的git rev-list
组合会让你到达那里。)
推荐阅读
- c# - WebClient 未遵循 .Net Core 3.1 中的重定向
- javascript - ajax 向 PHP 提交错误的数据
- python-3.x - Qt:在包含子布局的 QFormLayout 中显示或隐藏行
- java - 如何使用 spring-data 检索 mongodb 集合?
- django - 使用 PyCharm 创建 Django 项目时出错
- javascript - 无法在反应组件中使用 postMessage
- azure-functions - 如何编写一个 CosmosDBTrigger 来更新已更改的同一文档?
- python - 编写代码对多个 pandas DataFrames 执行相同的操作
- python - 发送嵌入 discord.py 后收听反应或消息
- javascript - 我想要一个按钮单击以将 html 标记添加到我的表单