我试图使用tortoiseSVN来解决我遇到的一个小问题。
我有一台开发笔记本电脑,并开发了我的大部分网站。 但是,如果我在移动,有人向我发送短信报告错误,例如,我经常在任何计算机上登录我的ftp,然后将网站“直播”固定。
如果我在我的开发笔记本电脑上进行了额外的更改,我经常会忘记我所做的实时更改,结果就失去了它。
因此,我希望使用tortoiseSVN来缓解这个问题。
我的托管帐户是hostgator的共享托管帐户,不支持SVN存储库。
我认为SVN的工作方式是我的“实时”副本必须是存储库吗?或者我错过了这一点?
有人可以解释我将如何实现我想要的东西,即使它需要托管更改......或者可能是更适合我的情况的替代方案......?
非常感谢。
汤姆
答案 0 :(得分:2)
我不确定“直播”副本的含义,但这里是您使用SVN的方式。
首先你有一个svn服务器,这可以在你的笔记本电脑上,但最好是与自动备份等分开。
然后在本地计算机上获得工作副本。工作副本主要是服务器上内容的克隆,但是您可以使用本地修改。如果对本地修改感到满意,则将更改提交(提交)到服务器。如果您对本地更改不满意,可以轻松恢复到服务器上的版本(或旧版本)。
将生产环境放到生产环境中与svn无关。这称为部署过程或发布过程。部署过程通常编译,备份安装程序或收集要安装的文件,最后将结果安装/复制到生产环境。
您的应用程序/网站的“主”副本应该在svn服务器上。要将某些内容投入生产,您可以运行脚本或按照手动过程将内容从工作副本获取到生产中。
通过使用svn服务器作为主副本而不是笔记本电脑,当您通过直接在生产环境中编辑文件来“欺骗”时,无法解决缺少更新的问题。但是如果你有远程shell访问(ssh),你可以在生产服务器上有一个本地工作副本,编辑工作副本中的东西,并通过命令行svn工具检查它们。
修改强>
澄清一下:您的“实时”副本 绝对 不应该是存储库。存储库的结构不像常规文件树,其中包含常规文件。更像是一系列变更集
您的“实时”副本 最好 也不是工作副本。工作副本包含特殊文件夹和文件,用于跟踪您在公共网站上不需要的“内容”。您的实时副本应该是工作副本中相关文件的副本。使用copy *.html /www-folder/
或svn export
或更精细的方法。
答案 1 :(得分:0)
最佳答案之一是使用分布式版本控制系统,其中您的网站是镜像分支或直接存储库(或工作副本,它&#39) ;在DVCS中也一样。) 所以你直接受益于你的版本控制!
你可以使用Bazaar,Git或mercurial这样做,(或任何其他DVCS,它只是主要的DVCS)。