是否有可能在没有git clone的情况下获取远程git仓库的提交日志/消息

时间:2013-11-18 18:46:50

标签: git bash git-stash

是否可以在没有git clone的情况下获取远程git repo的提交日志/消息?

我正在使用的git repo非常庞大,即使我使用--depth = 1运行git clone仍然需要一段时间才能克隆它。

我正在寻找类似的东西,

git remote-log。

我还查看了git -ls-remote,它只提供SHA和Heads /标签。我有兴趣获得最后2个提交标题,提交用户并提交SHA?

任何人都知道怎么做?

5 个答案:

答案 0 :(得分:13)

如果您希望查看分支的最后几个提交,请尝试:

git clone -b [branch name] --single-branch [repo url] --depth=3

这将仅克隆您感兴趣的分支上的最后3次提交。完成后,您可以进入克隆的回购并查看历史记录。

答案 1 :(得分:11)

如果没有本地(克隆)副本,则无法使用git log查看远程日志。您将需要克隆存储库然后执行您想要的操作。克隆后,您可以获取不同的遥控器并执行git log <remote>/<branch>。另一种方法是在服务器上使用软件,允许您通过某种类型的服务(如Stash,GitHub Enterprise等)查看远程git历史记录。

请参阅Commit history on remote repository

如果您想了解更多信息,这是一个很好的资源:http://git-scm.com/book/en/Git-Basics-Viewing-the-Commit-History

答案 2 :(得分:6)

不是确切的,而是一种方式。

使用GitHub Developer API

1. Opening this will get you the recent commits.

    https://api.github.com/repos/learningequality/ka-lite/commits

    You can get the specific commit details by attaching the commit hash in the end of above url.

2. All the files ( You need sha for the main tree)

    https://api.github.com/repos/learningequality/ka-lite/git/trees/7b698a988683b161bdcd48a949b01e2b336b4c01

我希望这可能有所帮助。

答案 3 :(得分:0)

我遇到了这个问题。就我而言,我可以访问.git文件。我可以使用以下方法从中提取信息:

git --git-dir=path/to/your/xyz.git log

答案 4 :(得分:0)

来自https://www.npmjs.com/package/smk

npm install -g smk
curl https://api.github.com/repos/gamonoid/icehrm/commits | smk -a -f"(data) => JSON.parse(data.join('')).map((commit) => commit.commit.message).join(\"\r\n\")"