如何推送到远程的当前git分支,并立即反映更改?

时间:2010-08-19 14:53:07

标签: git

我有2个网络服务器,一个测试,一个直播。两者都使用git管理其代码库。

我在测试服务器上开发,然后将更改从测试服务器上的主分支推送到具有git push的实时服务器。但是,目前我必须登录到实时服务器并运行git reset --hard以使更改反映在实时代码中。

我推送时显示警告消息git建议更改receive.denyCurrentBranch的设置以更改此推送的处理方式。但是,据我了解,我可以让它拒绝推送,接受警告并要求git reset,或接受它而不发出警告并需要git reset。我可以接受推送要求重置吗?

谢谢!

2 个答案:

答案 0 :(得分:6)

听起来你正在推进一个非裸的回购(也就是说,在磁盘上检出了回购文件的副本)。您可以推送它,但Git不会在没有git reset(或git checkout)的情况下自动更新工作副本文件。您可以使用后接收挂钩自动执行检出 - 有一个很好的操作方法here

答案 1 :(得分:0)

mipadi是对的,你真的需要在生产服务器上提供一个裸仓库。如果你对提交后挂钩感到不舒服(很多人都没有)。您可以在运行的服务器上创建一个cron作业     git pull origin master 每半个小时左右。