Git-Github推送历史记录

Git-Github推送历史记录,git,github,Git,Github,是否可以查看在存储库(尤其是Github)上执行推送操作的时间 我们有一个构建环境(Jenkins),可以根据各种事件自动构建我们的产品: 当用户在Github上推送新提交时 每晚 应用户要求 我希望能够确定哪个确切的提交被用于构建那些包(构建最终会在Jenkins中自动删除,因此我不能“依赖Jenkins构建”),因为我知道构建的日期和时间 虽然大多数时候,我只能在git中查找,但有时,开发人员已经在本地进行了更改并提交了更改,但没有在github上推送这些更改。当他后来推动他的更改时,就

是否可以查看在存储库(尤其是Github)上执行推送操作的时间

我们有一个构建环境(Jenkins),可以根据各种事件自动构建我们的产品:

  • 当用户在Github上推送新提交时
  • 每晚
  • 应用户要求
我希望能够确定哪个确切的提交被用于构建那些包(构建最终会在Jenkins中自动删除,因此我不能“依赖Jenkins构建”),因为我知道构建的日期和时间


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

嗯,我认为最简单的方法是使用Jenkins

您可以为Jenkins设置不同的通知方法。这里可以看到每一个提交。我们将其与XMPP扩展一起使用,这非常有用。但为了这个,你必须让詹金斯去

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


这里有一个关于电子邮件工作流挂钩的部分。

似乎可以跟踪推送,但我没有使用它们

对于非github git回购:

如果分支不是空的,
.git/logs/refs/heads/
记录分支更新的时间,可能是通过
git push
进行的。(注意:在某些情况下,文件会被删除。)


不知道如何在裸回购中直接检查这一点,因为他们不维持再融资。如果我必须跟踪这一点,我会看看git钩子。

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

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\u COMMIT
环境变量就足以跟踪编译和打包的代码。

问得好。我不认为有什么方法可以告诉你关于推送操作的更多信息,特别是像谁做了推送这样的事情,因为推送操作不一定是与提交作者相同的用户。如果git remotes有推送历史记录就好了。