在GitLab中,如何比较两个不同提交的文件

sulc1iza  于 2023-01-15  发布在  Git
关注(0)|答案(8)|浏览(1581)

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

git diff commit1 commit12 -- file_name

在GitLab上做这件事的链接格式是什么?
查看我的相关question

hm2xizp9

hm2xizp91#

它将比较提交,你将能够找到列表中的文件.
1.转至存储库〉比较
1.粘贴此url:https://gitlab.com/ $用户/$报告/比较?从= $SHA1到=$SHA2
1.按回车键(注意:gitlab将正确设置'源'和'目标')
1.点击按钮“比较”

szqfcxe2

szqfcxe22#

用于比较的直接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的后面,然后是一个八叉词(#);我得想办法弄到那个身份证

# 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}

比较UI可以在https://${gitlab_host}/${repo_path}/-/compare中找到,在那里可以通过下拉菜单选择源和目标引用。

ffx8fchx

ffx8fchx3#

其他答案都没有正确的步骤来通过当前版本的Gitlab GUI显示两个分支之间的差异。
1.转到您的项目
1.将鼠标悬停在侧菜单中的“Repository”(存储库)上,然后单击“Branches”(分支)
1.在要比较的分支旁边,单击右侧的“比较”按钮。
1.然后,如果愿意,您可以将目标分支从master(或任何默认分支的名称)更改为其他名称。
1.顶部是提交,向下滚动查看每个修改文件的实际差异。
1.滚动到要比较的特定文件,如有必要,单击展开。

tnkciper

tnkciper4#

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

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

下面是一个文件名为AN/R5/L15/S2018/IDS/000/020/RUANR5L15S2018IDS20864.json的示例,其sha1为f88 a5 e03 ecc 7854 e8955927 af 33 f2 ea 9d 090 ddaf

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

878 bd 4f 4f 7 edbabad 3c 691 a7 df 3e 317348 d4 ca 7759 e63 f529 a7 fe 5 f28131 dec 36 f253 dca 46 b8 ba 9 c提交之间进行比较时使用以下URL:https://git.en-root.org/tricoteuses/data.tricoteuses.fr/Agenda_XV/-/compare/59e63f529a7fe5f28131dec36f253dca46b8ba9c...878bd4f4f7edbabad3c691a7df3e317348d4ca77#f88a5e03ecc7854e8955927af33f2ea9d090ddaf
页面也会显示其他的差异,而不仅仅是你感兴趣的那个。但是它会把你移到文件差异开始的地方,你可以忽略其余的。
a few GitLab feature requests可以让用户在将来更容易地发现这一点。

beq87vna

beq87vna5#

您可以打开两个选项卡:
1.转到提交列表(在侧栏中:Repository -> Commits),从这里你可以方便地得到任何给定提交的SHA(右边有复制按钮);
1.转到比较工具(侧边栏中:Repository -> Compare),在顶部,在sourcetarget中,经过你想要比较的两个提交的SHA字符串。

lx0bsm1f

lx0bsm1f6#

作为对使用此URL从@anapsix获得的答案的补充:
https://${gitlab_host}/${repo_path}/-/compare/${ref_target}...${ref_source}
这个解决方案仍然有效,但是${ref_target}${ref_source}不是提交SHA密钥。您需要该密钥的简短版本:只有前8个字符。

wmomyfyw

wmomyfyw7#

如果要比较一个文件不同版本
1.存储库-〉提交-〉选择文件-〉单击并排
2.you 将看到两个窗口,左侧为旧版本,右侧为新版本。

ergxz8rk

ergxz8rk8#

只要代码可以在屏幕上看到,你就可以在GitLab的网页界面上点击鼠标来完成这个任务。

  • 在你的存储库中,点击左边的菜单选项“提交”。右边的窗格将显示存储库中所有提交事件的列表。
  • 单击与您感兴趣的文件相对应的文件。您将能够看到其“之前和之后”状态。
  • 您可以在“inline”或“side-by-side”模式下看到它,其中它以绿色突出显示更改。

相关问题