linux - 服务器端 CGI 编程的版本控制

标签 linux version-control

我和我的一个 friend 正在用 perl 开发一个用于系统管理的 web 服务器,类似于 webmin。我们有一个 linux box,当前版本的服务器可以正常工作,还有其他开源网络产品,如网络邮件、日历、库存管理系统等。

目前,代码不受版本控制,我们只是定期做快照。 我们希望将代码置于修订控制之下。 我的问题是什么是设置它和使用软件解决方案的好方法:

我能想到的一个解决方案是将当前在 linux 机器上的项目的根设置为存储库的根。我们将在我们的个人机器上检查代码,对其进行处理,提交并测试结果。

还有其他想法、方法吗?

非常感谢,

斯帕斯基

最佳答案

Version Control with Subversion除了是 Subversion 本身的权威之外,还涵盖了许多基本的版本控制概念。如果您阅读了第一章,您可能会对如何设置有所了解。

在您的情况下,听起来您正在实时系统上进行实际开发。就版本控制系统而言,这并不重要。在您的情况下,您仍然可以将 Subversion 用于:

  1. 将提交作为备份代码和使用工作更改更新存储库的一种方式。养成在测试后提交的习惯,这样失败的提交就会尽可能少。
  2. 标记是跟踪您所做的事情的一种方式。添加功能后,制作标签。这样您就可以在必要时轻松恢复到“在我们实现 X 之前”。
  3. 分支以开发更大的更改 block 。如果一个特性需要几天的时间来开发,你可能想在开发期间提交,而不是提交到主干,因为你提交的东西只是完成了一半。在这种情况下,您应该提交给一个分支。

在何处创建存储库并不重要,但您应该只将工作副本放在实际可用的地方。在您的情况下,听起来像实时服务器是唯一这样的地方。

对于更轻量级的解决方案,开销更少,任何地方的任何文件夹都可以作为存储库,您可能需要使用 Bazaar反而。 Bazaar 是一个比 Subversion 更灵活的版本控制系统,可能更适合您的需要。使用 Bazaar,您可以创建您的实时系统的存储库,而不是在其他地方设置存储库,但仍然遵循上述 3 条准则。

关于linux - 服务器端 CGI 编程的版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2225188/

相关文章:

linux - 在 futex 之前,线程/进程如何在 Linux 中停放和唤醒?

git - 如何从命令行删除远程分支(例如 Github)?

git - 删除不应该提交的文件

svn - 颠覆的大困惑 - 现在如何提交?

svn - 如何使用 git 或 svn 将 MonoDevelop 项目连接到 BitBucket?

linux - 对 Linux 上运行的应用程序进行 CPU 和文件 IO 基准测试

c - 如何在 ncurses 中获得正确大小的窗口

Git - 裸仓库不能有主分支的工作树 - 为什么?

Linux 端口转发到 Socks 代理

python - 无需 CUPS 即可获取 USB 打印机信息