Version control 集市:我需要树枝吗?

Version control 集市:我需要树枝吗?,version-control,branch,bazaar,vcs-checkout,Version Control,Branch,Bazaar,Vcs Checkout,我是风投的新手,我只是想了解如何根据我的情况使用Bazaar。我的情况是,我是一名单独的web开发人员,在一个网站上工作,该网站由一个实时网站(如www.mysite.com)和一个登台/开发网站(如dev.mysite.com)组成。我使用Bazaar Explorer,因为我不是一个真正的命令行类型的人。我只在一台主计算机上工作,通过FTP将文件上传到web服务器。我在本地Windows计算机上安装了Bazaar 因此,为了开始,我在本地计算机上创建了一个Bazaar项目。我坚持使用默认的“

我是风投的新手,我只是想了解如何根据我的情况使用Bazaar。我的情况是,我是一名单独的web开发人员,在一个网站上工作,该网站由一个实时网站(如www.mysite.com)和一个登台/开发网站(如dev.mysite.com)组成。我使用Bazaar Explorer,因为我不是一个真正的命令行类型的人。我只在一台主计算机上工作,通过FTP将文件上传到web服务器。我在本地Windows计算机上安装了Bazaar

因此,为了开始,我在本地计算机上创建了一个Bazaar项目。我坚持使用默认的“功能分支”选项,因为Bazarr文档说这最适合小项目(但即使在阅读文档之后,我也没有完全理解工作区模型之间的区别)。这创建了一个包含trunk和.bzr子文件夹的文件夹(我称之为_sourcecontrol)。我将所有项目文件(即网站文件)复制到主干中,并进行了初始提交

现在我的第一个问题是我应该直接处理这些文件,还是需要创建另一个分支来处理这些文件?

此工作流是一种合理的方法还是有明显更好的方法

  • 处理主干中的一些文件
  • 在我检查错误、功能等时,将更新的文件FTP到临时站点
  • 一旦我完成了某项功能,提交我的更改
  • 使用bzr上载插件将最新版本上载到live网站
那么,当我发现最新的更新引入了一个问题,我想将网站回滚到以前的版本时,我该如何处理这种情况呢?是这样的吗?

  • 在Bazaar中恢复到以前的版本
  • 使用bzr上载插件将此修订版上载到live网站
  • 那么,如何返回到最新版本,以便解决问题?这是我需要分支机构的地方吗
  • 一旦我再次更新了文件以修复问题,请执行提交并使用bzr上载插件将最新版本上载到live网站

最后一个问题,在我的情况下签出是否相关?

在Bazaar中,单个分支是项目文件的线性历史记录。只要您想同时处理项目的多个版本,就需要多个分支。当涉及多个开发人员时,这种情况自然会发生,但对于一个人的项目也很有用

例如,它允许您作为功能分支的一部分继续开发新功能,同时在主分支上添加、测试和部署错误修复。特征完成后,可以将其合并回主分支。类似地,如果您想要试验一些您可能想要或不想要作为主要代码库的一部分的东西,那么最好为此建立一个试验分支

对于简单的项目,您可能只需要一个主分支,但不管怎样,熟悉分支都是一个好主意,因为它有许多非常实用的用例

为了处理您描述的“问题”场景:首先,获取您拥有的最后一个工作版本。实现这一目标的方法有很多:

  • bzr checkout
    可用于在不同的工作目录中创建特定分支和修订版的新签出。然后有一个包含旧版本的目录和一个包含新版本的目录
  • 为此,
    bzr分支
    的作用与
    bzr checkout
    基本相同,但也基于指定的修订在新目录中创建一个独立分支。如前所述,如果您需要同时处理旧版本和新版本,这将非常有用
  • bzr update
    可用于将当前目录切换到其他版本。然后,您可以执行任何想要部署旧版本的操作,并再次使用
    bzr update
    切换回最新版本

在Bazaar中,单个分支是项目文件的线性历史记录。只要您想同时处理项目的多个版本,就需要多个分支。当涉及多个开发人员时,这种情况自然会发生,但对于一个人的项目也很有用

例如,它允许您作为功能分支的一部分继续开发新功能,同时在主分支上添加、测试和部署错误修复。特征完成后,可以将其合并回主分支。类似地,如果您想要试验一些您可能想要或不想要作为主要代码库的一部分的东西,那么最好为此建立一个试验分支

对于简单的项目,您可能只需要一个主分支,但不管怎样,熟悉分支都是一个好主意,因为它有许多非常实用的用例

为了处理您描述的“问题”场景:首先,获取您拥有的最后一个工作版本。实现这一目标的方法有很多:

  • bzr checkout
    可用于在不同的工作目录中创建特定分支和修订版的新签出。然后有一个包含旧版本的目录和一个包含新版本的目录
  • 为此,
    bzr分支
    的作用与
    bzr checkout
    基本相同,但也基于指定的修订在新目录中创建一个独立分支。如前所述,如果您需要同时处理旧版本和新版本,这将非常有用
  • bzr update
    可用于将当前目录切换到其他版本。然后,您可以执行任何想要部署旧版本的操作,并再次使用
    bzr update
    切换回最新版本
功能br