我想使用git来管理我的开发,集成测试和生产环境.我环顾四周但似乎无法找到一个如何简单的解释(例如Git - 推送到远程存储库并没有完全做到这一点).我想要做的一个非常简短的解释:
我已经通过使用git --init(注意没有--bare!)在1and1上创建存储库并使用ssh设置遥控器来实现了一些目标.但是我必须将receive.denyCurrentBranch设置为忽略,一旦我推动,我必须通过登录1and1服务器来检出分支.我必须为集成环境重复一遍.
这看起来非常笨拙,但我确信我的用例并不常见.这样做有明智的方法吗?
如果您具有与服务器的ssh连接,则可以将git remote直接添加到服务器上的存储库.就像是:
git add remote production sshUser@example.com:/path/to/repo/.git
Run Code Online (Sandbox Code Playgroud)
然后,部署,
git push production branch
Run Code Online (Sandbox Code Playgroud)
也就是说,您可能不应该从git存储库提供生产代码.更好的方法是在 Web根目录之外设置一个存储库,并使用post-receive钩子将代码复制到Web根目录.这似乎在此概述:
使用Git push部署项目