1
1
当然可以。这是一个非常罕见的情况,您希望您的测试站点托管在您的生产站点旁边。几乎在所有方面都是危险和不专业的,更不用说数据库损坏、web服务器锁定等了。 我通常有一个虚拟机设置用于测试目的。工作很好,我可以在旅行时把它放在笔记本电脑上。 使用git部署您的网站是一个非常好的主意,有很多其他人这样做(例如rob conery)。如果您碰巧有一个实时和测试站点,那么您应该在存储库中为它们设置单独的分支,并在相应的服务器存储库中设置为远程跟踪分支。您的工作流变得与在测试分支中执行工作一样简单,可以将其推到测试、测试、合并到live和推到live。 老实说,不要让自己太难。 |
2
2
认为这两种方法都能奏效。 您还可以使用“git archive master tar-c:/temp/blah-x”和“git archive live site ssh live site‘tar-c/var/www-x’”。 保持单独的存储库可能是有用的,但是“在另一个与推相关的钩子内推”看起来很棘手,我希望它会很慢。有点像一条又长又慢又脆弱的链条。 可能是现场更新应该在测试“测试”版本后手动触发? |
3
1
我也遵循了toroid.org上的相同指南,但是我想指出,虽然您是从一个裸存储库开始的,但是通过添加一个工作目录,很可能需要额外的处理。我发现,如果您的内容可能会动态更改或以其他方式更改,并且在使用时不希望丢失数据,那么下面的钩子非常有用
预接收
如果远程工作目录中有更改,则此操作将停止推送。把它想象成某个人(web服务器)在做更改但忘记提交它们。使用
后置接收
关于有两个分支,我认为您的第一个解决方案比处理多个存储库更优雅。如果您真的想将生产站点隔离,可以在本地使用rsync,它具有类似的delta补丁。我将在存储库中有一个测试和稳定的分支,只有测试站点作为工作目录。当准备释放时,将测试合并到稳定分支中,推送并让一个钩子查找对稳定分支的提交,然后调用rsync。 |
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |