从较低版本到更新版本的Gitlab分支/标签比较

拉贾纳·迪帕克(Rajana Deepak)

我创建了两个标签,并通过将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的注释说明了此问题:

e1bf40e23d0074a6比较可以正常工作。但是,颠倒顺序和“没有什么可比较的。”。

这个还可以:
e1bf40e2 ... 3d0074a6

这个不好吗:
3d0074a6 ... e1bf40e2

但:

我不确定这是否是错误,但我也不知道GitLab中比较工具的意图是做什么。

我假设GitLab将2个提交与3个点进行比较。3个点将告诉Git使用公共祖先进行扩散。

问题是3d0074a6...e1bf40e2将等同于执行git diff $common-ancestor e1bf40e2这里$common-ancestor是执行的结果git merge-base 3d0074a6 e1bf40e2e1bf40e2

所以发生的是,您正在执行git diff e1bf40e2 e1bf40e2,这就是为什么没有区别的原因。

我猜你想在git diff 3d0074a6 e1bf40e2没有点的情况下执行,这将告诉Git区分提交而不是共同的祖先。

因此,请检查您的差异URL:如果看到三个点,则将出现错误消息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章