2014-02-14 129 views
1

我有一个裸露的git仓库设立在生产服务器上,它使用后收到钩部署不管我推有:回滚git仓库

#!/bin/sh 
GIT_WORK_TREE=/path/to/webroot git checkout -f 

要部署我做

git push production 

从我的工作站,一切都照顾好。但是,我说推动一个违反某事的提交,并且我想尽快恢复。将做以下工作:

git push production [id of commit to revert to]:master 

IE浏览器将这一切仍然部署到webroot正确?

回答

1

这应该按预期工作。您可能需要执行git push +<commit>:master(注意+),以便替换生产主数据头中的错误提交。

+<commit>:master是一个refspec,请参阅git push manpage关于refspecs的更多信息。

我会建议更明确地恢复,而无需强制推到生产服务器做:

git revert <commit to revert> 
git push production 

git reset --hard <commit to revert to> 
git push -f production 

How to revert Git repository to a previous commit?

+0

如果是这样的话,那么有哪些呢这样做:git push production [提交ID恢复到]:master –

+0

对不起,我不知道我在说什么。 – mwhite