首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个远程分支上的git diff显示不同的文件,但它们是相同的。

两个远程分支上的git diff显示不同的文件,但它们是相同的。
EN

Stack Overflow用户
提问于 2022-01-13 15:02:19
回答 1查看 164关注 0票数 0

运行git diff origin/integration...origin/dev-userX -- path/to/file.cpp会产生部分结果:

代码语言:javascript
复制
--- a/path/to/file.cpp
+++ b/path/to/file.cpp
@@ -3,14 +3,12 @@
 #include "foo.h"
 #include "bar.h"
+#include <io.h>

但是,如果我直接查看github.com上的推送分支,那么两个文件都包含#include

问题:

  1. 为什么会看到这种情况?
  2. 的“原产地”语法总是意味着查看远程分支,而不是本地分支吗?
  3. 的“原产地”语法会工作吗?即使它们都没有通过任何方式在本地被拉/取或带来?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-01-13 15:59:09

假设您的图形如下所示:

代码语言:javascript
复制
A   B
 \ /
  X

假设提交A是您的分支origin/integration,而提交B是您的分支origin/dev-userX。如果提交X的文件没有一行"#include ",但是每个提交AB都添加了该行,那么您将看到所看到的内容。(根据评论,情况似乎是这样的。)

当你用3个点(git diff A...B)来区分时,你基本上是在说:

向我展示了XB之间的变化。

当你使用两个点(git diff A..B)时,你基本上是在说:

向我展示了AB之间的变化。

更多信息here,特别是my summary answer

关于您关于“原产地”的问题,以origin开头的分支表示您的“远程跟踪分支”。根据上次获取的时间,这些基本上是远程存储库中的分支的副本(无论在何处托管)。每次获取时,都连接到远程回购,并更新这些远程分支的本地副本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70698717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档