目前我设置了subversion,这样当我在Eclipse PDT中进行更改时,我可以提交更改,它们将保存在/ home / administrator / 项目文件中。该文件具有subversion推荐的/ branches / tags和/ trunk目录。我没有问题正确地将文件上传到存储库,但是我是否必须将Linux中的文件“mv”到/ var / www才能使它们在服务器上运行?是否有一个自动过程来执行此操作,我错过了?我假设我们不想将/ var / www目录(在机器上存在)存储库,但我不知道。
答案 0 :(得分:7)
您可以在www目录中执行svn export
。这将为您提供一个“干净”的repo版本,没有.svn目录。
cd /var/www
svn export /home/administrator/MyProject/trunk MyProject
编辑:从评论中添加一些好主意......
您希望更新导出副本的一些选项:
svn export --force /home/...../ MyProject
这将阻止它抱怨覆盖现有文件。此方法意味着如果从存储库中删除文件,它仍将保留在您的www文件夹中。svn export /home/..../ MyProject_20081105
ln -s MyProject_20081105 MyProject
www
文件夹中。答案 1 :(得分:2)
您可以在/ var / www文件夹中查看存储库的副本,然后在需要时运行 svn update (或将其切换到新的分支/标记等) )。因此,您在本地计算机上签出了一个存储库副本,您可以在其中进行更改和更新,另一个副本位于您的网络服务器上。
使用SVN存储库还可以恢复到早期版本。
答案 2 :(得分:1)
您还可以创建一个提交后挂钩,将提交更改的所有文件移动到/ var / www目录。
这是一个用python编写的示例,它通过ftp:
将更改的文件上传到远程主机答案 3 :(得分:0)
您可能想要记住在任何给定时间生产的文件 - 因此请保留“发布”标记(例如在/ project / tags / release中)。如果要发布,请将主干复制到那里。然后svn导出该释放标记。
或其他什么。
答案 4 :(得分:0)
我见过很多人on here和其他论坛谈论使用Capistrano进行部署,但我没有任何个人经验。