当我做php编程时,我倾向于通过内置在sFTP中的文本编辑器在(开发)服务器(cpanel VPS,而不是本地)上进行就地编辑。我喜欢这种方式,因为你不需要做100件事来"发布"更改,你只需保存(通过FTP)并重新加载页面。
我主要想把源代码放入SVN,这样我就可以跟踪其他人的编辑。
我目前在我的windows机器上使用tortoiseSVN来访问非web项目的托管SVN repos (csvdude/codison),所以我很熟悉。Linux SVN则不然。
我的想法在这里(开放给其他想法)是,我希望服务器上的public_html文件夹是工作副本(这有问题吗?)。人们可以通过sFTP进行编辑,然后工作副本将提交到外部SVN仓库,可能在深夜cron.希望我可以将其设置为自动添加和提交。
因此,除了对这个想法的想法之外,我很好奇如何设置linux svn客户端以提交到一个陆龟esvn的外部仓库。似乎我看到的所有教程都设置了本地repo。
另外,我担心当我检查出public_html dir作为工作副本时,它会覆盖所有内容。(是的,我有备份…)
任何输入或建议将是了不起的…谢谢。
我在托管的SVN服务上创建了一个新的repo。
我使用repo浏览器手动创建了一个public_html文件夹。
在cPanel服务器上:
cd /home/[account]/
svn checkout https://svnservice.com/my_repo/public_html
我在public_html中设置了一个忽略列表,用于我不希望在repo中出现的目录。
然后你可以添加文件和目录到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目录,否则它可能会暴露源代码。