我是使用Subversion的新手,刚刚设置了以下内容 - 远程服务器上的SVN和本地PC上的SVN。我在/ repos的远程服务器上创建了一个repo,然后我(svn)将一个实时网站的文件导入到该repo中。然后我检查了(使用svn + ssh)一个工作副本到我的本地PC,直接进入/ var / www下的本地LAMP设置,这样我就可以预览我在本地Web服务器上做的任何更改,然后再回到远程回购。真的有两个问题 - 这对初学者来说是一个明智的设置吗?我是否真的没有远程服务器上的工作副本,只是每个站点的主要仓库?
另外,我如何正确使用svn:ignore来避免checkout数据库配置文件和无用的目录,如mail,log,tmp等?我看过这本书,但仍然不完全确定,任何帮助表示赞赏!
答案 0 :(得分:4)
svn:ignore
不用于避免检查 out ,而是用来检查中的。您应该从存储库中删除这些文件,然后set the svn:ignore
property on your working copy,以便不会无意中重新检入它们。
您可以在工作副本上使用svn delete --keep-local
,然后提交从存储库中删除文件。
至于您的设置,您不希望在远程服务器上有工作副本;相反,要部署文件,您可以使用已知良好版本的svn export
。
答案 1 :(得分:1)
您的设置听起来非常明智。您似乎已经混淆了您的命名,这可能会导致您的不安全感:存储所有修订版的位置称为“存储库”。您拥有(使用其副本)特定修订版本的地方称为“工作目录”或简称“结帐”。您可以从单个存储库中获得所需数量的签出。
正如Michael所说,使用svn export
代替checkout是有意义的,以避免在生产服务器上发布.svn/
。