我创建了两个标签,并通过将Tag1Source
和Tag2保持为来比较它们Target
,然后输出结果是没有要比较的内容。您需要使用不同的分支名称来获得有效的比较。
如果我交换标签,即Tag2为Source
和Tag1为Target
,则将diff
正确显示。为什么在diff
显示更新版本时未显示Target
这已经在gitlab-ce问题37889中看到,但这可能不是bug。
每个项目的比较页面允许输入两个SHA1,但是单击比较按钮将返回以下消息:
There isn't anything to compare.
You'll need to use different branch names to get a valid comparison.
但是,将主提交上
master
的旧提交master
与其自身进行比较可以得到预期的结果(显示了从旧提交到HEAD的所有提交),因此似乎可以使用该功能。
这在最新的10.x GitLab版本中仍然可见。
问题25162的注释说明了此问题:
将e1bf40e2与3d0074a6比较可以正常工作。但是,颠倒顺序和“没有什么可比较的。”。
这个还可以:
e1bf40e2 ... 3d0074a6这个不好吗:
3d0074a6 ... e1bf40e2
但:
我不确定这是否是错误,但我也不知道GitLab中比较工具的意图是做什么。
我假设GitLab将2个提交与3个点进行比较。3个点将告诉Git使用公共祖先进行扩散。
问题是
3d0074a6...e1bf40e2
将等同于执行git diff $common-ancestor e1bf40e2
这里$common-ancestor
是执行的结果git merge-base 3d0074a6 e1bf40e2
是e1bf40e2
所以发生的是,您正在执行
git diff e1bf40e2 e1bf40e2
,这就是为什么没有区别的原因。我猜你想在
git diff 3d0074a6 e1bf40e2
没有点的情况下执行,这将告诉Git区分提交而不是共同的祖先。
因此,请检查您的差异URL:如果看到三个点,则将出现错误消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句