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


当前回答

要更新远程跟踪分支,你需要先输入git fetch,然后:

git diff <mainbranch_path> <remotebranch_path>

您可以git branch -a列出所有分支(本地和远程),然后从列表中选择分支名称(只需从远程分支名称中删除remotes/即可)。

例如:git diff main origin/main(其中“main”是本地主分支,“origin/main”是远程分支,即原点和主分支。)

其他回答

要更新远程跟踪分支,你需要先输入git fetch,然后:

git diff <mainbranch_path> <remotebranch_path>

您可以git branch -a列出所有分支(本地和远程),然后从列表中选择分支名称(只需从远程分支名称中删除remotes/即可)。

例如:git diff main origin/main(其中“main”是本地主分支,“origin/main”是远程分支,即原点和主分支。)

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

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

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

我一直看到这个错误

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

如果你正在比较当前分支和你想要git拉的东西,这里有一个简单的答案。

git fetch
git diff FETCH_HEAD

第一个命令将找出与当前分支对应的远程分支。FETCH_HEAD引用中该计算的人工产物。然后,第二个命令使用该引用与当前分支的引用进行比较。

我更理解输出:

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

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