运行git diff origin/integration...origin/dev-userX -- path/to/file.cpp
部分产生
--- 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<io.h>
问题:
- 我为什么看到这个
- "origin"语法是否总是意味着查看远程分支,而不是本地分支
- 即使"origin"语法从未被拉取或以任何方式带到本地,它们也能工作吗
感谢
想象一下你的图是这样的:
A B
/
X
假设提交A
是分支origin/integration
,提交B
是分支origin/dev-userX
。如果提交CCD_ 6时的文件没有行"#包括<io.h>";,但是A
和B
中的每一个提交都添加了这一行,那么您将看到您所看到的内容。(根据评论,情况似乎就是这样。(
当你用3个点(git diff A...B
(进行差异时,你基本上是在说:
显示
X
和B
之间的更改。
当你使用2个点(git diff A..B
(时,你基本上是在说:
显示
A
和B
之间的更改。
这里有更多信息,特别是我的总结答案。
关于你关于";"原点";,以CCD_ 15开头的分支表示您的";远程跟踪分支";。这些基本上是基于上次提取的远程存储库(无论托管在哪里(上分支的副本。每次提取时,您都会连接到远程repo并更新这些远程分支的本地副本。