如何区分本地分支和远程分支?


当前回答

简单的方法:

git fetch
git log -p HEAD..FETCH_HEAD

这将首先从默认远程(origin)获取更改。这将在克隆存储库时自动创建。你也可以显式:git fetch origin master。

然后git log用来比较你当前的分支和刚刚获取的分支。(-p(生成补丁)选项显示了差异。)

其他回答

git diff <local branch> <remote>/<remote branch>

例如,git diff main origin/main,或者git diff feat尿素origin/next

当然,说到远程跟踪分支,你首先需要git fetch;并且您需要它拥有关于远程存储库中分支的最新信息。

第一个类型

git branch -a

获取可用分支的列表。在输出中,您可能会看到如下内容

* master
  remotes/main/master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/mt
  remotes/upstream/master
  remotes/upstream/mt

然后显示差异

git diff --stat --color remotes/main/master..origin/master
git diff remotes/main/master..origin/master

你可以使用——compact-summary选项。

男人不一样

输出扩展头信息的浓缩摘要,例如文件创建或删除(“new”或“gone”,如果是符号链接,可选“+l”)和模式更改(“+x”或“-x”) 分别添加或删除可执行位)在diffstat。信息放在文件名部分和图形部分之间。意味着——统计。

e.g.

git diff $(current_branch) origin/$(current_branch) 

我想知道我的主分支是否有任何变化…

首先,你需要改变你的分支(如果你已经在这个分支下,你不需要这样做!): Git checkout master 你可以通过下面的命令查看在你的主分支下哪个文件被修改了: git状态 列出分支 Git分支-a 主 遥控器/产地/主人 发现差异 Git差异的起源/主

我一直看到这个错误

git diff main origin/master
fatal: ambiguous argument 'main': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

解决方案:我必须先推git(因为远程和本地都需要是最新的),然后这样工作:

git diff master origin/master