GitLab比较页面无法选择commit ID,如何生成两个提交间的diff?
GitLab 指定两个 commit 生成 diff 的操作方法
- 方法1:直接修改 Compare 页面 URL
先进入Repository > Compare页面,随意选择两个分支点击「Compare」按钮进入比较结果页,此时页面 URL 格式为https://<你的GitLab域名>/<项目路径>/-/compare/<from_revision>...<to_revision>,将 URL 中<from_revision>和<to_revision>替换为你需要对比的两个 commit ID(支持完整40位ID或7位短ID),刷新页面即可生成对应 diff。
如果你需要对比两个 commit 的直接差异(排除两个 commit 共同祖先之后的改动)用三个点分隔,如果需要对比两个 commit 的全量内容差异用两个点分隔,修改 URL 的时候调整分隔符即可。 - 方法2:直接在分支输入框填写 commit ID 后提交
回到Repository > Compare页面的表单,在「from分支」「to分支」输入框中直接粘贴完整 commit ID,无需等待下拉框匹配分支选项,直接点击「Compare」按钮即可,大部分 GitLab 版本会优先读取输入框内的文本内容作为 commit revision 进行比较。 - 方法3:本地生成 diff(无需操作 GitLab 页面)
如果你已经将仓库克隆到本地,直接在仓库目录下执行命令即可输出两个 commit 之间的 diff:git diff <old-commit-id> <new-commit-id>
需要导出为独立文件的话可以执行:git diff <old-commit-id> <new-commit-id> > diff.diff
内容的提问来源于stack exchange,提问作者Jonathan Sachs
相关产品推荐
相关产品推荐

