我怎么能用git进行部署?

时间:2010-08-24 03:44:52

标签: git deployment

基本上我认为我可以使用git作为heroku提供的那些rails云提供商进行部署。所以我在服务器上创建了一个应用程序,更改为该目录并在那里做了一个git init。 接下来,我使用指向该目录的git-wep创建了一个http服务器。现在我退房,那也很好,编辑并提交我的回购。

现在,接下来要做的就是推送到服务器并让它作为post commit钩子更新它的工作目录。展开。

但是git不会让我推。可能我可以

  

您可以将'receive.denyCurrentBranch'配置变量设置为'ignore'

但我会在哪里这样做?我可以在哪里以及如何放置钩子?

1 个答案:

答案 0 :(得分:4)

最好让服务器上的存储库成为存储库(实际上没有工作副本的存储库 - 只有.git目录的内容),然后在post-receive-hook中使用git archive | tar -x -C /path/to/htdocs之类的东西将文件导出到服务目录。

通过使用裸存储库作为目标,可以避免完全推送到签出分支的问题。

要创建裸存储库,请在init时传递--bare标志:

git --bare init