Git 远程日志和变更请求

标签 git

我需要在不克隆 repo 的情况下接收有关修订、文件更改和更改的代码行数的数据,我唯一拥有的是 repo url。我发现用于查看远程更改的唯一命令是 git ls remote,但它的输出太差了。我该怎么做?

最佳答案

仅使用 Git 协议(protocol)无法完成您要求的操作。

根据存储库的托管方式,您可以通过 web interface 获取一些信息。 . gitweb与 Git 一起分发,大型托管服务通常有自己的 Web 界面。


  • gitweb 示例:git.git viewing commit tagged 1.7.3.2
    • 热门链接
      • “log”或“shortlog”显示导致提交的历史
      • “commitdiff”访问与父级的差异
      • merge/parent 缩写对象名称(十六进制字符串)移动到该父级
    • 父级链接
      • “差异”链接显示与该父项的差异
      • “提交”链接移动到该父节点
    • “树”链接显示提交中捕获的文件
    • 每个文件的链接
      • “diff”( merge 时的“diffN”)仅显示该文件的差异
      • “blob”显示文件的内容
      • “history”显示导致修改此文件的当前提交的提交

  • GitHub 示例:git.git viewing commit tagged 1.7.3.2
    • “提交”选项卡显示历史记录
      • “commit”/“parent”缩写对象名称(十六进制字符串)将您带到提交;表明
        • 为该提交更改的文件
          • 右边的绿色和红色方 block 显示了每个文件中添加/删除的行数
        • 提交的差异
          • “查看文件”显示了在该提交中捕获的整个文件
            • “原始”查看/下载文件
            • “blame”显示最近一次更改此文件每一行的提交
            • “历史”显示导致更改此文件的当前提交的提交

如果您打算在历史上进行任何重要的挖掘,那么克隆存储库可能是值得的(如果托管服务没有某种网络界面)。您将不得不使用一些磁盘空间,但您的调查将不限于 Web 界面提供的内容,而且速度会快得多。

另一种可能性是 git archive ;它是一个可选服务器,因此它可能不会为托管您的存储库的服务器启用。它允许您下载单个树的文件(例如 tar 或 zip 文件)。从技术上讲,您可以提取此类存档并手动比较它们以获取您想要的信息,但这可能比仅克隆存储库和使用普通工具(即 git log)更麻烦且效率更低使用 --stat--numstat 有或没有 -m/-c/--抄送).

关于Git 远程日志和变更请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4288598/

相关文章:

windows - 如何让 git 停止更改文件中的换行符?

git - Jenkins :gitlabCommitStatus 不工作

使用 svn.pushmergeinfo 进行 merge 的 git-svn 工作流程

git 和 vimdiff - 一次关闭所有文件

git - 你如何将 “update” 藏起来?

eclipse - 为什么 EGit 管理的项目在 Eclipse 中禁用了 merge 工具?

Git命令查找哪些分支被 merge 到当前分支以及何时

git - 如何通过 PR 删除提交的效果?

git - 将 git 与 Dropbox 文件夹中的项目一起使用

git - 差异/补丁如何工作以及它们的安全性如何?