带远程标签的Git diff

asp*_*yct 9 tags git diff

我即将合并来自远程分支(非原始)的更改,更具体地来说,来自给定标记.

那么有两个遥控器:

  1. origin
  2. proposal

proposal遥控器上,idea存在带有标签的分支名称tagged_idea.

我的想法是,我想查看tagged_idea我和当前HEAD 之间的传入变化.我怎样才能做到这一点?

我尝试了类似的东西,git diff .../proposal/tags/tagged_idea但效果不好.任何的想法?

换句话说,我希望看到的是合并的结果,甚至在我的分支中进行之前.就像我做了拉,git pull proposal tags/tagged_idea但没有实际做出改变.

uml*_*ute 13

大多数git命令仅在本地工作,尤其是 像git diff和的东西git merge.

您的本地存储库可以有多个远程数据库,但为了解决这些问题,您必须首先将本地存储库与远程数据库同步:

 git fetch --all
Run Code Online (Sandbox Code Playgroud)

虽然这将下载所有更改集,但它不会将它们应用于当前分支,除非当前分支正在跟踪其中一个遥控器.

下载远程变更集和标记后,您可以简单地运行以下内容:

git diff tagged_idea
Run Code Online (Sandbox Code Playgroud)

...并查看当前HEAD和标签之间的差异tagged_idea,无论后者驻留在哪里.

  • 如果你使用`git fetch`而不是`git pull`,你仍然可以获得所有新的提交,但是git不会尝试合并(或者rebase,取决于`pull.rebase`和其他git配置设置)即使你在"跟踪"分支上,这些变化也是如此.(如果您通常跟踪强制推动的远程分支并使用"git pull --rebase"可以执行的"智能"rebase进行自动重组,那么会有一个小小的警告,但这是一个非常不寻常的工作流程.) (2认同)