当提交被推入远程Git Repo时

时间:2014-01-07 19:55:52

标签: git heroku

有什么方法可以将特定提交推送时显示到远程仓库?换句话说,我知道谁做了更改(以及何时提交),但我不知道它何时被推送到heroku的生产环境中(注意:heroku只是使用git push来部署)

理想情况下,它会是这样的:

$ git remote myprodrepo show 201421b78ae73a21bc6045a78b4b5db5c54697e7

我可以看到该提交何时被推入该回购。

注意:上面的语法不起作用,只是试图表明我想要完成的事情。

(我希望这个问题有道理 - 如果没有,请提出问题。)

2 个答案:

答案 0 :(得分:1)

不,Git不会为这些操作记录任何日志。

authorization layer这样的中级Gitolite可以保留这样的记录,但这可能不适合您当前的设置。

Bside heroku按suggested发布Chris,这是获取所有这些操作(不仅仅是推送)的最新记录的一种纯粹git方式是suggested here ,在远程git仓库的配置中:

# required for a bare repo
git config core.logAllRefUpdates true

git reflog --date=local master

答案 1 :(得分:1)

VonC是正确的,Git本身不会跟踪此信息,但在Heroku上,您应该能够使用heroku releases命令获取此信息。

链接页面的示例输出:

Rel   Change                          By                    When
v52   Config add AWS_S3_KEY           jim@example.com       5 minutes ago
v51   Deploy de63889                  stephan@example.com   7 minutes ago
v50   Deploy 7c35f77                  stephan@example.com   3 hours ago
v49   Rollback to v46                 joe@example.com       2010-09-12 15:32:17 -0700

请注意v51显示何时将de63889部署到Heroku。

然后,您可以使用heroku releases:info v51获取有关此版本的详细信息:

=== Release v51
Change:      Deploy de63889
By:          jim@example.com
When:        7 minutes ago
Addons:      deployhooks:email, releases:advanced
Config:      MY_CONFIG_VAR => 42
             RACK_ENV      => production