首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否显示远程服务器上提交范围的git日志?

是否显示远程服务器上提交范围的git日志?
EN

Stack Overflow用户
提问于 2011-05-11 11:27:37
回答 2查看 14.1K关注 0票数 8

我正在寻找一种方法来查询git服务器的日志,以获得给定范围内的提交。作为一个SVN用户,我的心态是错误的,所以我希望GIT专家能帮上忙。我正在寻找类似的东西:

代码语言:javascript
复制
svn log -r 5:20 --xml svn.myserver.com

但是对于git服务器来说。换句话说,向我展示从第5次提交到第20次提交的日志。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-11 12:12:53

首先,由于Git没有简单的修订号,您可以按照rev-parse command中提到的那样指定修订号。

但是,直接查询远程存储库(不需要克隆或获取数据)的唯一命令是git ls-remote,并且:

  • 它将只显示SHA1,而不显示日志消息。
  • 它适用于引用模式(头,标签,分支,...),而不是转速。

由于日志可以显示差异统计信息和完全差异,因此如果不至少获取本地存储库中的远程数据库,则无法请求日志。

票数 19
EN

Stack Overflow用户

发布于 2011-05-11 12:14:00

我认为你正在尝试转移一些来自Subversion的假设,这些假设对于git是无效的。Git是一个去中心化的版本控制系统,所以所有的命令都是针对您的存储库的本地克隆运行的,而不是针对远程服务器。此外,在git中,没有单一的提交历史记录,因此您需要指定SHA-1提交ID;您不能简单地使用修订号。

要获取日志,您必须首先将提交传输到存储库的本地克隆,然后才能查询它们。

如果您尚未克隆远程存储库,则需要运行git clone REMOTE_URL。或者,如果您希望使用辅助远程服务器,则可以在现有存储库中运行git remote add ALIAS OTHER_REMOTE_URL

然后,您需要使用git fetch origin (如果添加了辅助远程服务器,则使用git fetch ALIAS )获取提交。

完成此操作后,您可以使用git log origin/master~5..origin/master列出提交(在远程存储库中的分支上)(例如,显示最近的五次提交)。或者,您可以运行git log master..origin/master来显示尚未在本地合并的新远程提交。(还有许多其他方法可以指定提交范围;有关更多信息,请参阅the documentation或打开另一个问题。)

  1. 某些命令(如git ls-remote )确实可以在远程服务器上运行,但大多数命令不能。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5958905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档