所以我知道可以在Git存储库中从命令行检索修订ID:
git rev-list HEAD | head -n1
有什么可以让您执行以下操作:
git rev-list HEAD git@some.path.to.your.repo:user/repo.git | head -n1
或者您是否必须专门克隆存储库并位于终端的该目录中才能检索此信息?
谢谢。
答案 0 :(得分:0)
git rev-parse HEAD
更简单,并且产生相同的答案,但是它给您的是 current 版本的哈希ID,而不一定是 latest 版本。特别是,一旦签出某个分支,HEAD
便会命名该分支的尖端(根据定义,这是该分支上的最后一次提交),但如果签出历史提交,则最终会导致“分离的HEAD”模式,并且HEAD
现在命名该历史提交。因此,如果您在某个分支上,则只会获得 a (不一定是 the )最新修订:您会获得该分支的最新修订哈希ID。
也就是说,您可以使用git ls-remote
来询问任何Git服务器,以告诉您如果您将Git连接到它,它将首先告诉您的Git存储库(出于git fetch
的目的)。>
git ls-remote ssh://git@github.com/path/to/repo.git
请注意,git clone
包括创建一个新的存储库,添加一个远程名称/ URL对,获取分支和标记,然后签出一些分支。因此,如果您直接跳到“提取”步骤,然后在告诉您它们拥有哪些分支和标签名称以及这些分支和标签的哈希ID之后将其切断,那么您会您想要的答案。因此git ls-remote
是您想要的命令。