使用外部存储库在cPanel服务器上将SVN工作副本设置为public_html

时间:2014-03-21 04:27:38

标签: linux svn centos repository cpanel

当我进行php编程时,我倾向于通过内置sFTP的文本编辑器在(开发)服务器(cpanel VPS,而不是本地)上就地编辑。我喜欢这个,因为你不需要做100个想法来“发布”更改,你保存(通过FTP)并重新加载页面。

我想把源代码放到SVN中,所以我可以跟踪其他人的编辑。

我目前在我的Windows机器上使用tortoiseSVN来访问非Web项目的托管SVN repos(csvdude / codison),所以我对此很熟悉。 Linux SVN,不是那么多。

我的想法(对其他想法持开放态度)是我希望服务器上的public_html文件夹成为工作副本(这有问题吗?)。人们可以通过sFTP进行编辑,然后工作副本将被提交到外部SVN仓库,可能是在深夜的cron上。希望我可以将其设置为自动添加和提交。

除了对这个想法的想法之外,我很好奇如何设置linux svn客户端以承诺外部repos la lartoiseSVN。看来我看到的所有教程都设置了一个本地回购。

另外,我担心当我用public_html dir签出作为工作副本时它将覆盖所有内容。 (是的,我有备份......)

任何输入或建议都会很棒..谢谢。

1 个答案:

答案 0 :(得分:1)

我在托管的SVN服务上创建了一个新的仓库 我使用repo浏览器手动创建了一个public_html文件夹。

在cPanel服务器上:

cd /home/[account]/
svn checkout https://svnservice.com/my_repo/public_html

我为repo中不想要的public_html中的目录设置了一个忽略列表。

然后您可以将文件和目录添加到repo

cd public_html
svn add [directory]          // adds directory for commit
svn add --force .                    // adds all new files without ignoring the ignore list

事后看来,我认为导入命令会做类似的事情,我只是不太了解它。

这也是一个有用的命令:

svn status | grep '^\!' | sed 's/! *//' | xargs -I% svn rm %    // removes files from repo that no longer exist in the working copy

编辑:我应该提到的一件事是确保.htaccess阻止访问.svn目录,否则它可能会暴露源代码。