我想得到remotegit repo的最后一个提交ID。
命令git rev-parse HEAD
适用于本地克隆的git repo,但我想通过CURL命令从原始GIT repo中获取它。
例如:我想获取git URL https://git.appfactorypreview.wso2.com/history/apiapp.git/的最后一个提交ID。
怎么做?
我想得到remotegit repo的最后一个提交ID。
命令git rev-parse HEAD
适用于本地克隆的git repo,但我想通过CURL命令从原始GIT repo中获取它。
例如:我想获取git URL https://git.appfactorypreview.wso2.com/history/apiapp.git/的最后一个提交ID。
怎么做?
8条答案
按热度按时间alen0pnh1#
尝试以下命令
dm7nw8vv2#
我觉得你想要的是:
如果远程存储库中不存在
HEAD
,那么您可能需要:注意,在第一个例子中,
HEAD
将指向仓库中要 checkout 的默认分支,您需要确保这是您想要的分支,或者使用第二种形式并指定您想要的分支(将refs/heads/master
替换为您想要的分支的名称:refs/heads/BRANCH_NAME
.8yparm6h3#
另一种方法,不使用git log:
git rev-parse HEAD
8ljdwjyq4#
你可以用
git ls-remote
来做这个,因为我得到了一个'Unauthorized access for repository apiapp.git'
,我用它作为例子torvalds linux-repo。hc2pp10m5#
最后一个提交id的短哈希更易于阅读(读作:对于后代,有两种方法来获得最后提交id的短散列:
或
gg0vcinb6#
我使用的最简单方法:
gab6jxml7#
我的回答对OP没有帮助,因为他不在github上,但我想我还是会提到它,因为它使用了OP要求的
curl
或wget
。wget -qO- http://api.github.com/repos/Ghini/ghini.desktop/commits/ghini-1.0
Ghini
是我的repo,ghini.desktop
是我的repository,ghini-1.0
是我感兴趣的分支。替换它们以适合您的情况。JSON的答案是一个字典,OP对它的
sha
字段感兴趣,但它包含了更多的信息。fiei3ece8#
git fetch; git rev-parse origin/branch_name
为安全起见,请先运行
git fetch
。