我对GIT很陌生,所以请原谅我任何愚蠢的问题(如果有这样的事情:)
设想
目标
问题
任何帮助深表感谢!
最佳答案
“保护 repo 协议(protocol)”到底是什么意思?只是处理暴露在互联网中的服务器?在这种情况下,SSH应该可以满足您的需求。如果只是您,我可能不会理会像gitolite这样的花哨的东西-只需在服务器上创建一个裸仓库,就不可以通过SSH使用它了。我不确定您需要什么设置建议-您只需要能够SSH到计算机中,并访问存储库的路径即可。
是否要让您的生产站点真正成为存储库取决于您。它的确使您更容易弄弄,但您将需要配置Web服务器以不授予对.git目录的访问权限。如果您偏执狂,也可以在不将其作为存储库的情况下进行部署,例如使用git archive。这个想法只是将当前版本的副本转储到给定目录中。
SSH和HTTPS是您需要安全性时要考虑的两个git传输协议(protocol)。确实没有任何理由超越它们。 SSH应该更容易设置和使用。 (Git确实支持其他几种协议(protocol),但它们都不是为了安全使用而已,或者根本就没有广泛使用。)
我假设您在这里询问生产站点,因为您提到了经过测试的分支。当然,这取决于您是否具有生产站点的存储库,或者它只是所有内容的已 checkout 副本。在前一种情况下,绝对没有理由使用补丁。只需 pull 入生产存储库即可:
cd /path/to/production-site
git pull /path/to/testing-site stable-branch
如果您的生产站点不是存储库,则可能会执行以下操作:
# check out a copy of the updated version
git archive --format=tar --prefix=new-site HEAD | (cd /var/www && tar xf -)
# swap it into place
mv /var/www/site /var/www/old-site
mv /var/www/new-site /var/www/site
rm -rf /var/www/old-site
显然,我是一名Linux专家,因此这些说明可能需要对Windows进行一些修改,但是这个主意应该很清楚。
关于git - 单个开发人员Web项目设置的最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5079851/