基本上我认为我可以使用 git 进行部署,就像 Heroku 提供的那些 Rails 云提供商一样。所以我在服务器上创建了一个应用程序,更改为该目录并在其中执行了 git init。 接下来,我创建了一个 http 服务器,其中 git-wep 指向该目录。现在我检查了一下,这也很好,然后编辑并提交到我的存储库。
现在,我接下来要做的就是推送到服务器并让它更新其工作目录作为提交后 Hook 。已部署。
但是 git 不让我 push 。也许我可以
You can set 'receive.denyCurrentBranch' configuration variable to 'ignore'
但我该在哪里做呢?我可以在哪里以及如何放置 Hook ?
最佳答案
最好让服务器上的存储库成为一个裸存储库(实际上没有工作副本 - 只有 .git
目录的内容),然后使用类似 git archive | tar -x -C /path/to/htdocs
的内容在 post-receive-hook 中将文件导出到服务目录中。
通过使用裸存储库作为目标,您可以完全避免推送到已 checkout 分支的问题。
要创建裸存储库,请传递 --bare
初始化时标记:
git --bare init
关于git - 我如何使用git进行部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3553441/