我正在为部署脚本添加git日志行:
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未找到错误。
我一定是误解了git log,我想找到将链接到github的web界面中最后一次提交的提交哈希。有没有办法做到这一点? 3ced14ef1004287b55c21d384447c21cb58edfa6是什么意思?
我注意到'merge'行最后是5adc9c5,这是我正在寻找的实际代码的开头,在撰写时写的是5adc9c51326772318394fceb479a31e26306259b。
答案 0 :(得分:4)
您的git pull
将github上的内容和存储库中的内容合并为新的提交。那是3ced14ef1004287b55c21d384447c21cb58edfa6
。此合并提交不在github上(尚未)。如果你想引用它,你需要push
回到github。
答案 1 :(得分:1)
https://github.com/okohll/agileBase/commits/3ced14ef1004287b55c21d384447c21cb58edfa6返回404未找到的错误。
通常,网址为http://github.com/<user>/<project>/commit/<sha1>
,即单数commit
我想找到将链接到github网页界面中最后一次提交的提交哈希。
您不需要先将其从存储库中取出,您只需链接到GitHub上的HEAD
:https://github.com/okohll/agileBase/commit/HEAD
如果您仍想知道GitHub存储库中当前提交的内容,您只需使用远程分支的日志,即origin/master
:
git log -1 origin/master
但是,这需要您最近从远程存储库中获取,因为它只会检查您在本地存储库中的内容。
除此之外,剩下的唯一选择选项是直接检查GitHub以获取当前哈希,可能使用GitHub API。