TortoiseSVN - localhost上的存储库,然后在localhost和online上工作副本。可能?

时间:2011-10-30 15:54:02

标签: svn tortoisesvn repository

我试图使用tortoiseSVN来解决我遇到的一个小问题。

我有一台开发笔记本电脑,并开发了我的大部分网站。 但是,如果我在移动,有人向我发送短信报告错误,例如,我经常在任何计算机上登录我的ftp,然后将网站“直播”固定。

如果我在我的开发笔记本电脑上进行了额外的更改,我经常会忘记我所做的实时更改,结果就失去了它。

因此,我希望使用tortoiseSVN来缓解这个问题。

我的托管帐户是hostgator的共享托管帐户,不支持SVN存储库。

我认为SVN的工作方式是我的“实时”副本必须是存储库吗?或者我错过了这一点?

有人可以解释我将如何实现我想要的东西,即使它需要托管更改......或者可能是更适合我的情况的替代方案......?

非常感谢。

汤姆

2 个答案:

答案 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)。