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


当前回答

我更理解输出:

Git diff <远程跟踪分支> <本地分支>

它告诉我,如果我推本地分支,什么将被删除,什么将被添加。当然,它是一样的,只是相反,但对我来说,它更可读,我更舒服地看着将要发生的事情。

其他回答

第一个类型

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

在我的情况下,我有一个名为heroku的第二个远程,这不是起源,因为它不同步,我在试图运行git diff master heroku/master时得到了这个错误:

致命:模糊的参数“heroku/master”:未知的修订或路径不在工作树中。

或者当尝试其他方法git diff master. heroku/master:

致命:糟糕的修订'master..heroku/master'

解决方案是在运行git diff之前显式地在git fetch中提到远程名称,在我的情况下:

$ git fetch heroku
$ git diff master heroku/master

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

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

让您的工作分支是开发分支,并且您希望区分本地开发分支和远程开发分支。在这种情况下,语法应该是这样的:

git diff remotes/origin/development..development

Or

git fetch origin
git diff origin/development

如果你想看到的区别只是文件名的改变,那么使用:

git diff --name-status <remote-branch> <local-branch>

否则,这将显示两个分支之间的所有差异:

git diff <remote-branch> <local-branch>