1

我在部署脚本中添加了一个 git log 行:

git pull origin master
git log -n 1 > lastcommit.txt
ant -f build.xml deploy

保存上次提交的详细信息。这会产生一个输出文件(在撰写本文时):

commit 3ced14ef1004287b55c21d384447c21cb58edfa6
Merge: 616a15e 5adc9c5
Author: www-data <www-data@backup.agilebase.co.uk>
Date:   Sat Jul 28 15:20:39 2012 +0100

Merge branch 'master' of github.com:okohll/agileBase

但是,使用该提交代码https://github.com/okohll/agileBase/commits/3ced14ef1004287b55c21d384447c21cb58edfa6返回 404 not found 错误。

我一定误解了 git log,我想在 github 的 Web 界面中找到链接到最后一次提交的提交哈希。有没有办法做到这一点?3ced14ef1004287b55c21d384447c21cb58edfa6 指的是什么?

我注意到“合并”行的末尾有 5adc9c5,这是我正在寻找的实际代码的开始,在编写 5adc9c51326772318394fceb479a31e26306259b 时。

4

2 回答 2

4

git pull将 github 上的内容和存储库中的内容合并到一个新的提交中。那就是3ced14ef1004287b55c21d384447c21cb58edfa6。此合并提交不在 github 上(还)。如果你想引用它,你需要push回到 github。

于 2012-07-28T14:45:40.627 回答
1

https://github.com/okohll/agileBase/commits/3ced14ef1004287b55c21d384447c21cb58edfa6返回 404 not found 错误。

通常,URL 是http://github.com/<user>/<project>/commit/<sha1>,即单数commit

我想在 github 的 Web 界面中找到链接到最后一次提交的提交哈希。

你不需要先把它从你的存储库中拉出来,你可以链接到HEADGitHub 上:https ://github.com/okohll/agileBase/commit/HEAD

如果您仍然想找出您在 GitHub 存储库中的当前提交是什么,您可以简单地使用远程分支的日志,即origin/master

git log -1 origin/master

但是,这要求您最近从远程存储库中获取,因为它只会检查您在本地存储库中拥有的内容。

除此之外,剩下的唯一选择是直接检查 GitHub 以获取当前哈希,可能使用 GitHub API。

于 2012-07-28T14:48:03.630 回答