我即将合并来自远程分支(非原始分支)的更改,更具体地说,来自给定标记。
然后有两个遥控器:
origin
proposal
在proposal
遥控器上,存在分支名称idea
,标记为tagged_idea
。
我的想法是,我想查看tagged_idea
和我当前的HEAD之间的传入更改。我怎样才能做到这一点?
我试过像git diff .../proposal/tags/tagged_idea
这样的东西,但效果并不好。有什么想法吗?
换句话说,我想看到的是合并的结果,甚至在我的分支中进行。就像我执行了拉git pull proposal tags/tagged_idea
但没有实际进行更改一样。
答案 0 :(得分:13)
大多数git命令仅在本地工作,尤其是git diff
和git merge
之类的内容。
您的本地存储库可以有多个遥控器,但为了解决这些问题,您必须首先将本地存储库与您的遥控器同步:
git fetch --all
虽然这将下载所有更改集,但它不会将它们应用于您当前的分支,除非当前分支跟踪其中一个遥控器。
下载远程变更集和标记后,您只需运行以下内容:
git diff tagged_idea
...并查看当前HEAD
与标记tagged_idea
之间的差异,无论后者位于何处。
答案 1 :(得分:1)
我使用git ls-remote --tags proposal |grep tagged_idea
获取修订哈希,然后使用哈希值git diff
。
答案 2 :(得分:0)
如果您只是在寻找命令,请不要使用它,因为此解决方案的主要目的是向您介绍一种解决方案!
为了使生活更轻松-我编写了一个脚本git-cheat-sheet,其中包含一些有用的命令,包括以下命令:
./ git_commands.sh -diff_tag