当我进行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签出作为工作副本时它将覆盖所有内容。 (是的,我有备份......)
任何输入或建议都会很棒..谢谢。
答案 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目录,否则它可能会暴露源代码。