阅读互联网上的所有教程和文章。作为一个简单的工作流程,我知道我们可以在实时服务器上创建一个裸push
存储库,并从本地存储库等对其进行更新。
我的问题和担忧是,由于实时服务器也将是一个 Git 存储库并且它会有该.git
文件夹,这不会是一个安全问题吗?如何阻止访问呢?
更新
假设我在服务器上的实时文件夹是 /www,我可以从浏览器http://myserver.com访问它,这样我也可以访问http://myserver.com/.git/HEAD ??? 如何预防呢?
您可能需要考虑将存储库和工作树分开。
例如,在 Web 服务器提供的文件夹之外的某个位置,运行git init --bare
. 然后config
将此目录中的文件替换为以下内容(其中/path/to/web/root
是应放置文件的路径)。
[core]
repositoryformatversion = 0
filemode = true
bare = false
worktree = /path/to/web/root
[receive]
denycurrentbranch = ignore
Run Code Online (Sandbox Code Playgroud)
最后添加hooks/post-receive
以下内容并标记为可执行
#!/bin/sh
git checkout -f
Run Code Online (Sandbox Code Playgroud)
现在,每当您推送到存储库时,文件都会被检出到正确的位置,您永远不必担心存储库意外被提供。
归档时间: |
|
查看次数: |
3157 次 |
最近记录: |