繁体   English   中英

Web开发问题的基本版本控制-单个开发人员。 (SVN / GIT)

[英]Basic version control for web development questions - Single developer. (SVN/GIT)

经过很长时间的延迟后,我意识到我想在我的工作流中实施一个版本控制系统以进行Web开发。 我很少与其他人一起工作,所以我所需要的只是版本控制,以使您安心并具有回滚等功能。我也在工作室的笔记本电脑和台式机上进行开发,因此我想使用版本控制,以便可以在不同的位置工作并避免由此产生的冲突。

我已经做了相当多的研究,大多数教程都相当先进,似乎超出了我的需求。 基本上,我决定从beanstalk和Versions.app中选择一个SVN存储库来使用它。

但是,在真正探讨解决方案之前,我想回答三个问题:

  • 真的有必要使用典型的SVN结构(主干/分支/标签)吗? 我可以不简单地将回购用作网络根吗?

  • 我如何从分支机构中受益? Beanstalk建议从分支进行部署。 据我了解,这可能意味着创建生产分支,然后在部署之前从Trunk合并到该分支? 是否有理由不只是简单地从Trunk进行部署,或者只是在SVN中拥有一个Webroot来进行部署? 我想我主要是问为什么作为一个开发人员,我想在开发网站中使用分支机构?

  • 我可以从GIT中受益吗? 我可以看到的一项主要功能是脱机提交,但是beantalk甚至建议将SVN用于Web开发文件(html,php,图像等)。

任何帮助,不胜感激。 我一直想使用版本控制系统,现在离线开发一段时间。 希望不再为我编辑实时服务器! 我认为降低正确的工作流程从一开始就是一个耗费时间和精力的项目,但最终还是值得的。

-

编辑:我主要是在开发wordpress网站和各种EE项目,而且规模相当小,没有什么太激烈的。

-

编辑:与所有内容一样,使用系统并进行尝试是真正了解它的唯一方法。 最后,我选择了git。 我对能够快速脱机提交,进行快速分支和合并等感到非常满意。然后,使用capistrano进行部署虽然起初很复杂,但令人难以置信。 我的工作流程现在得到了如此惊人的改善。 我可以快速分支新功能并尝试新的想法。 没有git我将永远不会再开发项目!

我建议遵循标准结构。 如果您以后再邀请其他开发人员来做,并且他们熟悉标准结构,那么会容易得多。

即使您一个人,也使用标签进行发布非常有帮助。 假设您将某个版本推向生产阶段,并且它已被破坏。 如果您总是从中继干事,那么您必须查看日期或变更集才能回滚。 如果您标记了以前的版本,则只需获得标签并进行推送即可,而不必担心更改的结束位置和更改的开始位置。

创建标签很简单,从标签中获得的价值是巨大的。

我从事只有2个开发人员的项目已经18个月了,我们还没有创建分支。 我怀疑您也不需要使用它们,而是可以从发布标签进行部署。

我使用SVN已有数年之久,但有时仍会这样做,但是我正在慢慢地将团队切换到git。Git更快,更灵活并且允许本地提交。您可以在线或离线工作。有了git,您不需要文件夹分支和标签的结构-您只要说git branch或git tag,它就会自动拍摄您的项目快照svn和git都有优点和缺点,但总的来说,我想我会更喜欢git它也是“新事物”,因此当您最终与团队合作时,最好向您学习。

我们按发布分支。 因此,主干(或git中的master)是当前代码所在的位置。 修复了错误,并进行了快速更改。 耗时超过几个小时的开发将在一个分支中进行-针对您正在工作的网站的新项目,新增项目。 随着错误修复和事情进入主干,我们将它们合并回我们的分支,以便它具有最新的修复和较小的更改。 分支完成后,我们将部署到该分支,使其成为主干,并存档旧主干。 我们还标记了发布的所有内容,因此我们可以大致了解生产过程。

我可能会研究github上的私有存储库以开始使用。 或者,您也可以在本地使用git,但是很高兴拥有一个用于备份的异地服务器或将某些东西拖到另一台机器上。

你真的有四个问题

真的有必要使用典型的SVN结构(主干/分支/标签)吗?

不,它只是更实用和有用的,长时间的测试工作流程:标签是永久性标签,分支允许单独解决的任务和隐藏最后一点的复杂性(在主干),并没有打破所有的项目,而你有什么未完成

我可以不简单地将回购用作网络根吗?

您本身不能使用存储库-存储库不是文件系统中的树,与您的项目相同。 您可以尝试使用工作副本作为站点,但是更自然的方式是可管理的(更新“ what”和“ when”)无版本快照(至少我认为是这样)

我如何从分支机构中受益?

单独的开发线,其中:

  • 不会干扰主线
  • 允许在严格区分变更的同时解决一项任务

我可以从GIT中受益吗?

不是来自Git,而是来自DVCS类-是的,有可能(并非必须):每个人都有自己的理由

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM