基本上我认为我可以使用git作为heroku提供的那些rails云提供商进行部署。所以我在服务器上创建了一个应用程序,更改为该目录并在那里做了一个git init。 接下来,我使用指向该目录的git-wep创建了一个http服务器。现在我退房,那也很好,编辑并提交我的回购。
现在,接下来要做的就是推送到服务器并让它作为post commit钩子更新它的工作目录。展开。
但是git不会让我推。可能我可以
您可以将'receive.denyCurrentBranch'配置变量设置为'ignore'
但我会在哪里这样做?我可以在哪里以及如何放置钩子?
答案 0 :(得分:4)
最好让服务器上的存储库成为裸存储库(实际上没有工作副本的存储库 - 只有.git
目录的内容),然后在post-receive-hook中使用git archive | tar -x -C /path/to/htdocs
之类的东西将文件导出到服务目录。
通过使用裸存储库作为目标,可以避免完全推送到签出分支的问题。
要创建裸存储库,请在init时传递--bare
标志:
git --bare init