在Gitlab上,如何比较两个不同提交的文件

时间:2018-04-27 19:43:24

标签: git gitlab

在Gitlab上,如何比较两个不同提交的文件?我知道在命令行git上,命令是:

git diff commit1 commit12 - file_name

在gitlab上执行此操作的链接格式是什么?

查看我的相关question

7 个答案:

答案 0 :(得分:2)

它将比较提交,您将能够在列表中找到文件。

1)转到Repository>比较
2)粘贴:https://gitlab.com/ $ USER / $ REPO / compare?from = $ SHA1& to = $ SHA2 url
3)点击进入(注意:gitlab将设置'来源'和'目标'正确)
4)点击按钮'比较'

答案 1 :(得分:2)

出现用于比较的直接URL如下

# compare URL, where ref_source and ref_target can be commit SHA, tag, or branch
https://${gitlab_host}/${repo_path}/compare/${ref_target}...${ref_source}

# tag example 1, comparing tag v1.5.1 to master
https://${gitlab_host}/${repo_path}/compare/v1.5.1...master

# tag example 2, comparing tag v1.5.1 to tag v1.5.2
https://${gitlab_host}/${repo_path}/compare/v1.5.1...v1.5.2

# commit example 1, comparing commit SHA to master
https://${gitlab_host}/${repo_path}/compare/f6098082f...master

# commit example 2, comparing commit SHA to another commit SHA
https://${gitlab_host}/${repo_path}/compare/f6098082f...2b8daf28

要比较两次提交中的单个文件,首先需要获取文件的blob ID,然后将其附加到八度((#)之后的比较URL中;必须找到一种获取该ID的方法

# compare URL, where ref_source and ref_target can be commit SHA, tag, or branch, and file_blob
https://${gitlab_host}/${repo_path}/compare/${ref_target}...${ref_source}#${file_blob}

答案 2 :(得分:2)

首先,您需要获取感兴趣的文件路径的sha1摘要(例如,使用sha1sum命令)。然后,您可以构建URL来显示两个git ref之间的差异(即分支名称或提交哈希或标签),如下所示:

https://gitlab.com/<project>/-/compare/<ref1>...<ref2>#<sha1>

这里是 AN / R5 / L15 / S2018 / IDS / 000/020 / RUANR5L15S2018IDS20864.json 文件名的示例。它的sha1是 f88a5e03ecc7854e8955927af33f2ea9d090ddaf

$ echo -n AN/R5/L15/S2018/IDS/000/020/RUANR5L15S2018IDS20864.json | sha1sum
f88a5e03ecc7854e8955927af33f2ea9d090ddaf

878bd4f4f7edbabad3c691a7df3e317348d4ca77 59e63f529a7fe5f28131dec36f253dca46b8ba9c 提交之间进行比较是通过以下网址进行的:https://git.en-root.org/tricoteuses/data.tricoteuses.fr/Agenda_XV/-/compare/59e63f529a7fe5f28131dec36f253dca46b8ba9c...878bd4f4f7edbabad3c691a7df3e317348d4ca77#f88a5e03ecc7854e8955927af33f2ea9d090ddaf

页面还将显示其他差异,而不仅仅是您感兴趣的差异。但是它将使您向右移动文件差异的开始位置,而您可以忽略其余部分。

a few GitLab feature requests使用户将来更容易发现。

答案 3 :(得分:1)

没有其他答案具有正确的步骤,可以通过当前版本的Gitlab GUI显示两个分支之间的差异。为此:

  1. 转到您的项目
  2. 将鼠标悬停在侧面菜单中的“存储库”上,然后单击“分支”
  3. 要比较的分支旁边,单击右侧的“比较”按钮。
  4. 然后,您可以根据需要从master更改目标分支(或更改为默认分支)。
  5. 顶部是提交。向下滚动以查看每个修改文件的实际差异。
  6. 滚动到要比较的特定文件,然后根据需要单击以展开。

答案 4 :(得分:0)

您可以打开两个标签:

  1. 转到提交列表(在边栏中:[Range(-1000, 1000)] public int Amount {get; set;} ),从那里您可以方便地获取任何给定提交的Repository -> Commits(右侧有复制按钮);
  2. 使用比较工具(在边栏中:SHA),在顶部,在Repository -> Comparesource中,经过两次提交的target字符串您想比较。

答案 5 :(得分:-1)

如果要比较一个文件的不同版本

1。存储库->提交->选择文件->单击并排

2。您将看到两个窗口,左边是旧版本,右边是新版本。

答案 6 :(得分:-1)

只要可以在屏幕上查看代码,就可以通过GitLab Web界面简单地单击鼠标来完成此操作。在您的存储库中,单击左侧的菜单选项“提交”。右窗格将显示存储库中所有提交事件的列表。单击与您感兴趣的文件相对应的文件。您将能够看到其“之前和之后”状态。您可以在“内联”或“并排”模式下看到它,并以绿色突出显示更改。