首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吉特-吉蒂布推动历史

吉特-吉蒂布推动历史
EN

Stack Overflow用户
提问于 2013-04-24 19:09:05
回答 3查看 9.6K关注 0票数 4

是否可以查看何时在存储库上执行了推送操作,特别是在Github上?

我们有一个构建环境(Jenkins),它在各种事件上自动构建我们的产品:

  • 当用户将新提交推到Github上时
  • 每晚
  • 应用户要求

我希望能够确定使用了哪个确切的提交来构建这些包(在Jenkins中,构建最终会自动删除,所以我不能‘依赖Jenkins构建’),因为我知道构建的日期和时间。

虽然大多数情况下,我只需要在git中查找,有时,开发人员已经在本地进行了更改,但并没有在github上推动这些更改。后来,当他推动更改时,就不可能知道用于构建包的是什么源代码。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-15 10:12:55

实际上,我发现Jenkins Git插件自动设置了以下环境变量,然后可以在构建脚本中使用:

代码语言:javascript
复制
GIT_COMMIT - SHA of the current
GIT_BRANCH - Name of the branch currently being used, e.g. "master" or "origin/foo"
GIT_PREVIOUS_COMMIT - SHA of the previous built commit from the same branch (the current SHA on first build in branch)
GIT_URL - Repository remote URL
GIT_URL_N - Repository remote URLs when there are more than 1 remotes, e.g. GIT_URL_1, GIT_URL_2
GIT_AUTHOR_EMAIL - Committer/Author Email
GIT_COMMITTER_EMAIL - Committer/Author Email

简单地引用GIT_COMMIT环境变量就足以跟踪编译和打包的代码。

票数 1
EN

Stack Overflow用户

发布于 2013-04-24 19:17:00

嗯,我想最简单的方法就是和詹金斯一起。

您可以为Jenkins设置不同的通知方法。我们可以看到每一次承诺。我们将它与XMPP扩展一起使用,它非常有用。但为了这个你得去查詹金斯。

否则,您必须构建一个钩子,当有东西推送到您的存储库时,它会发送电子邮件给您。

http://git-scm.com/book/en/Customizing-Git-Git-Hooks

有一个关于电子邮件工作流钩子的章节.

票数 1
EN

Stack Overflow用户

发布于 2013-04-24 19:23:13

似乎可以使用Github的Repo Hooks API跟踪推送,虽然我还没有使用它们。

对于非github git回购:

如果它不是裸的,.git/logs/refs/heads/<branch name>记录一个分支何时更新,可能是通过git push更新的。(注:在某些情况下,文件会被修剪。))

不知道如何在裸回购中直接检查这一点,因为它们不维护reflogs。如果我必须跟踪这件事的话,我会看看git hooks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16200252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档