git diff origin master应该做什么?

git diff origin master应该做什么?,git,diff,Git,Diff,我的一个同事在git分支机构 git diff origin master 它应该做什么?origin分别指向什么 这是相关的,但未包含在 它相当于 git diff origin/HEAD master 这种形式的git diff只需要两个修订说明符,如中所述 在这种情况下,origin最有可能与第6项匹配: 六,。否则,refs/remotes//HEAD(如果存在) 因此,这意味着与git diff origin/HEAD master相同:将origin/HEAD解析为提交ID,将m

我的一个同事在git分支机构

git diff origin master
它应该做什么?
origin
分别指向什么

这是相关的,但未包含在

它相当于

git diff origin/HEAD master

这种形式的
git diff
只需要两个修订说明符,如中所述

在这种情况下,
origin
最有可能与第6项匹配:

六,。否则,
refs/remotes//HEAD
(如果存在)

因此,这意味着与git diff origin/HEAD master相同:将
origin/HEAD
解析为提交ID,将
master
解析为提交ID,并将两次提交区分开来

运行:


查看分辨率是如何工作的。

这取决于。。。如果
origin
master
是分支,则会显示它们之间的差异。在查看解释时,他们通常使用
origin
表示原始分支(上游分支、官方分支、任何分支),并使用
master
表示您正在处理的分支。也就是说,“显示相对于原始版本的更改内容。”

它显示了原点/头部尖端和主分支之间的更改。 您可以使用以下命令实现相同的功能:

  • git差异来源/校长
  • git差异起点/起点..主
通常,源代码指向从中克隆存储库的源代码。

“源代码”指向“远程”,通常指从中克隆存储库的源代码, 看

但特别是在回答您的问题时,“git diff origin master”相当于:

$ git diff origin/HEAD master 
原点/头指向远程主机上的头引用所指向的分支。这是最后一次拔出的分支

查看提交图,它将显示所有引用的位置(--decoration)


在执行此命令之前,
fetch
是必需的吗?或者它是否已经进入远程存储库并进行检查@RoyiNamir:不要求您首先运行
git fetch
,但是如果您不运行,您的git将使用上次获取时保存的信息(或者可能由以前的
git push
更新)。如果您认为自从上次Git与远程设备对话以来,远程设备上可能出现了新的提交,并且您希望看到这些提交,请立即运行
Git fetch
,让您的Git与他们的Git对话。然后,随时使用
origin/
引用此最新
git fetch
保存的信息。换句话说,检查远程端是否有新版本的最快方法是什么?那就得去拿。。。。是吗?@RoyiNamir:是的,你必须联系另一个Git,
Git fetch
可能是最简单、最简单的方法。您可以使用
gitlsremote
只执行获取的第一步(获取名称和散列ID),但是如果它们确实有新的提交,您可能仍然需要新的提交。请注意,当您从他们那里得到答案时,您的答案可能已经过时:例如,假设数据包到达您的机器需要2秒钟,因此您提取数据包,他们说他们的
主数据包
是a123456。该信息至少有两秒钟的历史:可能有人在一秒钟前推了一下!所有这一切的结果是,首先执行
git fetch
是明智的,但不要指望您的信息是最新的,不管您是如何最近获得的,除非您有更大的周边协议。这是任何分布式系统中的一个基本问题:您在本地拥有的信息可能与他们(无论他们是谁)在本地拥有的信息不匹配。您必须以其他方式构建原子性,例如,使用比较和交换请求(“我认为您认为A=3,如果这样设置A=4,在任何情况下,请告诉我您做了什么”)或租约(“告诉我A,30秒内不要更改它”)。
$ git remote -v show
$ git diff origin/HEAD master 
$ git log --oneline --graph --all --decorate