如何将文件从svn文件夹移动到生产服务器

时间:2009-03-19 10:55:31

标签: production-environment

我在源代码管理(SVN)下用PHP编写了一个网站。我想立即将所有文件从网站目录移动到生产服务器。

问题是在这个文件夹中有SVN(.svn)的文件夹。第二个问题是我不想只在服务器上放置源代码控制下的文件,而且还要放在此文件夹中的其他文件(images,css等)。

你能告诉我怎么做吗?如果它是可重复的那将是很好的 - 所以我只有一个命令来执行。

如果有可能优化上传(不上传未更改的文件)以使整个生产过程更快也会很好。

编辑:

我的开发环境是Eclipse PDT和最喜欢的FTP filezilla。

5 个答案:

答案 0 :(得分:13)

您可以使用subversion的导出功能,这将允许您导出版本控制下的所有文件,但也可以导出所有不受控制的文件。这两种方法都会跳过.svn文件夹。

您没有提及您的客户,但Tortoise也有“导出无版本文件”选项。

有关命令行语法

,请参阅here

答案 1 :(得分:1)

如果支持过滤器(不包括.svn文件夹,即FlashFXP),可以使用ftp客户端。

目前我正在使用Nusphere PhpEd IDE的内置功能“智能上传”,因此它只更新已更改的文件(修改时间已更改)。

答案 2 :(得分:1)

我使用rsync这是一个快速命令行工具,它只发送已更改的文件部分。您可以将其设置为排除{。3}}概述的.svn目录:

如果您希望继续使用fileZilla执行此操作,可以转到View->文件名过滤器并选择忽略SVN和CVS目录。您也可以只使用FileZilla上传更改的文件,但我发现rsync要快得多。由于rsync是基于命令行的,因此您可以轻松地将其与Eclipse作为外部工具连接,以启用1次单击传输

答案 3 :(得分:1)

你可以使用springloops,它们涵盖了SVN提交和签出,但最重要的是只需点击鼠标即可部署到FTP服务器......

答案 4 :(得分:0)

我最近在运行Ubuntu 9的同一个问题上跌跌撞撞。 在FileZilla中,您可以选择忽略包含甚至预设的过滤器,以防止复制.svn文件夹和Windows .thumb文件!您可以在文件名过滤器下的查看菜单中找到此内容。就像魅力一样!

为FileZilla人员竖起大拇指!