我需要接收有关修订,文件更改和更改代码行数的数据而不克隆回购,我唯一拥有的是repo url。我发现用于查看远程更改的唯一命令是 git ls remote ,但它的输出太差了。我怎么能这样做?
答案 0 :(得分:6)
没有办法只使用Git协议做你所要求的。
根据托管服务器的托管方式,您可以通过web interface获取部分信息。 gitweb随Git一起发布,大型托管服务通常都有自己的Web界面。
如果您要在历史记录中进行任何重要的挖掘,那么可能值得克隆存储库(如果托管服务没有,则可能是唯一的方式某种网络界面)。您将不得不使用一些磁盘空间,但您的调查不仅限于Web界面提供的内容,而且速度会快得多。
另一种可能性是git archive;它是一个可选服务器,因此可能无法为托管您的存储库的服务器启用它。它允许您下载单个树的存档(例如tar或zip文件)。从技术上讲,您可以提取这些存档并手动区分它们以获取您所追踪的信息,但它可能比仅仅克隆存储库和使用常规工具(即git log
{{1}更麻烦且效率更低}或--stat
有或没有--numstat
/ -m
/ -c
)。
答案 1 :(得分:2)
如果您的存储库URL用于ssh类型连接,那么您可以通过ssh发出远程日志命令,例如
如果您可以使用以下命令克隆:
git clone username@host:/path/to/repository.git
然后你应该能够使用:
发出一个日志命令ssh username@host git --git-dir /path/to/repository.git log
答案 2 :(得分:1)
如果您有权访问服务器,则可以在服务器上本地运行git log,解析数据并发回聚合结果。