Git远程日志和更改请求

Enc*_*ner 4 git

我需要接收有关修订,文件更改和更改代码行数的数据而不克隆回购,我唯一拥有的是repo url.我发现用于查看远程更改的唯一命令是git ls remote,但它的输出太差了.我怎样才能做到这一点?

Chr*_*sen 6

没有办法只使用Git协议做你要求的事情.

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


  • gitweb示例:git.git查看提交标记为1.7.3.2
    • 顶部链接
      • "log"或"shortlog"显示导致提交的历史记录
      • "commitdiff"访问父母的差异
      • merge/parent缩写对象名称(十六进制字符串)移动到该父级
    • 每个父母的链接
      • "diff"链接显示针对该父级的差异
      • "commit"链接移动到该父级
    • "tree"链接显示提交中捕获的文件
    • 每个文件链接
      • "diff"(合并的"diffN")显示仅该文件的差异
      • "blob"显示文件的内容
      • "history"显示导致当前提交修改此文件的提交

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

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

另一种可能性是git存档 ; 它是一个可选服务器,因此可能无法为托管您的存储库的服务器启用它.它允许您下载单个树的归档(例如tar或zip文件).从技术上讲,你可以提取这些档案和手动diff的他们得到你之后的信息,但它可能会比只克隆库,并使用普通工具(即较为繁琐,效率较低git log--stat--numstat有或无-m/ -c/ --cc).