我只是在学习如何做事,并希望开始为网络应用程序使用某种版本控制。
最适合自己部署python或php web应用程序的是什么?我正在使用linux并拥有一个Linux服务器。
谢谢!
答案 0 :(得分:18)
SVN, 但 您需要能够轻松使用SVN 部署您的网络应用。
因为它并不总是一项简单的任务,所以我只是指出 this article ,这可能对你的项目很感兴趣。
一般原则:
在本地使用上述Apache配置的唯一问题是DNS通配符。除非您的桌面由网络的DNS服务器分配了主机名,并且您可以在那里设置通配符,否则您将必须使用您的本地主机地址。您可以安装 dnsmasq 作为本地缓存DNS服务器,并将通配符放在您自己的计算机上
注意:(幽默)
This other question on Subversion允许我指出这篇关于publishing its (source-controlled) data into production的文章,其中可能是我在该主题上看到过的最丑陋的图表; - )
答案 1 :(得分:14)
如果我没有碰到git,我无疑会选择使用SVN。话虽如此,我会推荐git。
答案 2 :(得分:8)
如今,我肯定会使用分布式版本控制系统。安装速度更快,因为您不需要设置版本控制服务器和所有内容,您通常需要做的就是在开发框中初始化某个目录以进行版本控制,然后您就可以开始使用了。它们似乎也是最近走的路。如果是2001年,我会推荐像Subversion这样的集中式系统。但是到了2008年,每个人都在转向分布式系统,用户界面和支持工具往往会变得更好。
以下是一些建议:
通过常用的包管理解决方案,所有这三个都应该可以在基于Linux的操作系统中随时使用。
答案 3 :(得分:5)
SVN很棒。
答案 4 :(得分:5)
答案 5 :(得分:3)
我正在使用unfuddle.com,我喜欢它。它对于一个人的网络应用程序是免费的
答案 6 :(得分:2)
答案实际上取决于你的思维方式。我个人在从SourceSafe切换到subversion时遇到了问题。如果你来自微软商店,我建议使用SourceGear Vault,对于< = 2个用户是免费的。如果你来自非微软区域,那么使用subversion将是首选。如果在linux上工作也请考虑git。 HTH,Valve。
答案 7 :(得分:2)
我个人使用monotone,学习DVCS绝对是前进之路。
答案 8 :(得分:1)
对于一个人的工作,几乎任何修订控制系统都能完成这项工作。当你进入多个人,并将其传递到多个存储库时,就会出现差异。
鉴于此,我会选择您的开发环境最支持的任何自由软件系统。我看到Subversion和Git提到了,两者都是不错的选择。
答案 9 :(得分:0)
SVN是我的第一选择。如果我必须选择第二个,我会去CVS。
答案 10 :(得分:0)
明确的Mercurial是一个不错的选择,快速,易于使用,非常适合单独工作,或与其他多个开发人员,完美的多平台,处理合并,分支等等,非常简单,基于插件,有很棒的工具,如此作为好的IDE插件(特别是Netbeans和Eclipse)。
强大,它的工作方式就像您期望这样的工具一样,而不是像SVN(我每天都有多年)......
Sun,Xen和Mozilla都在Mercurial上托管他们所有的回购。经过6个月的日常测试,我们目前正从SVN转移到Mercurial,没有任何遗憾。
答案 11 :(得分:0)
我无法按照要求回答问题,因为我不在Linux服务器上开发。
但也许这种体验在Linux世界中具有对应性。
我使用的是一个仅限局域网本地的IIS服务器(实际上是在一台旧笔记本电脑上,它不再运行但是作为一个小服务器工作)。我也在该服务器上安装了VSS。 IIS服务器,该服务器上的FrontPage扩展和VSS之间存在集成。
结果是我可以使用FrontPage来构建和编辑我的站点并构建一个始终在VSS中备份的开发映像,我可以从FrontPage中签出,签入和完成所有这些操作。
现在,我发布的方式是利用VSS的共享功能,因此我有一个部署映像,该映像与实际上是IIS网站的项目共享。我有一个deployment-image目录,我可以将最新的签入材料传输到(未更新的材料未更新)。然后,我使用FTP将部署映像部署到托管的公共网站(同样,仅传输新的和更新的文件)。
我提供了所有这些细节,以建议可能感兴趣的用例,即使Linux需要不同的解决方案方法。
如果我没有使用与Web服务器集成的工具以及服务器上的源代码控制,我可以通过检查进出本地目录的VSS资料然后推送更新的VSS项目来做类似的事情。到IIS服务器的Web页面目录层次结构。工作流程更加笨拙。在这种情况下,我不会直接在开发Web服务器上编辑页面,除非我可以将签入页面锁定为只读或其他内容。
这是否暗示了在Linux服务器案例中可能具有吸引力的任何内容?
答案 12 :(得分:0)
我曾经使用Perforce并对此印象深刻。有GUI和命令行版本,它支持服务器和客户端的Windows,Linux,Mac和Unix。它与Eclipse集成,并具有用于编写自己的客户端应用程序的API(C / C ++,Ruby,Perl,Python)它在您需要购买许可证之前仅支持两个用户和五个工作区(但这属于此问题的范围)
答案 13 :(得分:0)
虽然我非常喜欢svn,但我发现在本地拥有整个存储库时很方便。 (同样适用于git,但我认为它的界面稍微不那么精致。)
答案 14 :(得分:0)
我完全同意SVN。命令行SVN也很简单。
答案 15 :(得分:0)
<强> SVN 即可。如果一个人不需要并发访问(这是你的情况),它很容易设置,因为根本不需要服务器。绝对是你的首选武器。
答案 16 :(得分:0)
今天最受欢迎的模特之一是Subversion。它通常很容易设置和安装。配置并能够处理多个平台。
答案 17 :(得分:-1)
Subversion是一个不错的选择。对于客户端,有TortoiseSVN(http://tortoisesvn.tigris.org/)与shell集成,让您通过右键单击文件夹来执行操作。为了与Visual Studio集成(我假设这是你的环境),有VisualSVN(http://www.visualsvn.com/)和AnhkSVN(http://ankhsvn.open.collab.net/)。对于服务器,您可以在此处找到一键式安装程序(http://svn1clicksetup.tigris.org/),即可快速完成设置。 VisualSVN还有一个(免费)服务器,你可以使用它提供自己的Web访问和安全性(而不是使用apache),并有一个mmc-snapin用于管理/创建存储库和用户。
答案 18 :(得分:-1)
CVS - 不,我不是在开玩笑。并不是说它更好(它不是)或最简单(它不是),但它在一天结束时并不重要。重要的是开始使用任何版本控制系统,即使它是一个开发人员的商店,即使它是CVS。