如何使用SVN、Branch?标签?树干? [关闭]

2024-04-19

我在谷歌上搜索了一下,找不到一个好的“初学者”指南SVN http://en.wikipedia.org/wiki/Subversion_%28software%29,而不是“我如何使用命令”的意思;我如何控制我的源代码?

我想澄清的是以下主题:

  • How often do you commit? As often as one would press Ctrl + s?
  • 什么是分支,什么是标签,如何控制它们?
  • SVN 中包含哪些内容?仅源代码还是您也在这里共享其他文件? (不考虑版本化文件..)

我不知道分支和标签是什么,所以我不知道目的,但我的大胆猜测是,您将内容上传到主干,当您进行主要构建时,您将其移动到分支吗?那么,在这种情况下,什么被认为是主要构建呢?


当我们在这里实施 Subversion 时,我问了自己同样的问题——大约 20 名开发人员分布在 4 - 6 个项目中。我没有找到任何一个有“答案”的好来源。以下是我们的答案在过去 3 年中如何发展的一些部分:

-- 尽可能频繁地提交有用的内容;我们的经验法则是,只要您已经完成了足够的工作,那么如果修改丢失,则必须重新做就会出现问题;有时我每 15 分钟左右提交一次,其他时候可能需要几天(是的,有时我需要一天时间才能编写 1 行代码)

-- 正如您之前的答案之一所建议的那样,我们使用分支来实现不同的开发路径;现在,对于我们的一个程序,我们有 3 个活跃分支:1 个用于主要开发,1 个用于尚未完成的并行化程序的工作,1 个用于修改它以使用 XML 输入和输出文件的工作;

-- 我们几乎不使用标签,尽管我们认为应该使用它们来识别生产版本;

考虑沿着单一路径进行开发。在开发营销的某个时间或状态决定发布产品的第一个版本,因此您在标有“1”(或“1.0”或其他)的路径中放置一个标记。在其他时间,一些聪明的火花决定并行该计划,但决定这将需要几周的时间,并且人们希望在此期间继续沿着主要道路前进。所以你在路上建了一个岔路,不同的人沿着不同的岔路走下去。

道路上的旗帜称为“标签”,道路上的岔路称为“分支”。有时,树枝也会重新聚集在一起。

-- 我们将构建可执行文件(或系统)所需的所有材料放入存储库中;这意味着至少有源代码和 make 文件(或 Visual Studio 的项目文件)。但是当我们有图标和配置文件以及所有其他东西时,它们就会进入存储库。一些文档会进入存储库;当然,任何文档(例如可能是程序不可或缺的帮助文件)都是如此,并且它是放置开发人员文档的有用位置。

我们甚至将我们的生产版本的 Windows 可执行文件放在那里,为寻找软件的人们提供一个单一的位置 - 我们的 Linux 版本会存储在服务器上,因此不需要存储。

-- 我们不要求存储库始终能够提供可构建和执行的最新版本;有些项目是这样工作的,有些则不是;这个决定取决于项目经理,取决于许多因素,但我认为当对程序进行重大更改时,它就会崩溃。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用SVN、Branch?标签?树干? [关闭] 的相关文章

  • 如何通过FTP将多个多级(不同层次)文件从本地版本覆盖到在线版本

    我只是在本地更改了几个不同目录中的许多文件 然后将更改推送到 Subversion 但这不会更改实时版本 只会更改存储库 现在我必须通过 FTP 更新这些文件 但它们都是不同的层次结构级别 我怎么做 我知道的唯一方法是采用我的整个本地版本并
  • 对于二进制文件,我应该使用 bfiles 还是 bigfiles?

    有一些善变的扩展可用于处理大型二进制文件 Bfiles http mercurial selenic com wiki BfilesExtension BigFiles http mercurial selenic com wiki Big
  • 不在办公室时进行源代码控制

    有时我不在办公室时会编写代码 我想在未连接到公司网络时继续使用源代码控制的好处 我理想的系统将允许我将修订签入笔记本电脑上的存储库 然后当我连接到公司网络时 该存储库将与我们的主 SVN 存储库同步 当与主存储库同步时 如果可以维护单独的签
  • 无法连接到 Subversion 本地存储库

    我已在 Windows 7 64 位上安装了 Subversion 1 8 8 和 TortoiseSVN 1 8 5 64 位 我使用 TortoiseSVN 在 C Projects SVNRepository 创建了一个本地存储库 在
  • 将非标准 svn 转换为 git

    我们有一个非标准的 svn 设置 如下所示 Root gt Trunk gt Projects gt Project 1 gt Project 2 gt Project 3 gt Libraries gt Library 1 gt Libr
  • svn 外部...是或否?

    我在这里读到了一些谴责使用 svn externals 的答案 我确实看到它们如何被滥用 这确实使我们更加依赖 Subversion 但我真的不认为我们的团队会很快放弃它 无论如何 这就是我的困境 我们的解决方案引用了多个项目 这些项目位于
  • AnkhSVN 和 VisualSVN 可以同时使用吗?

    我想尝试 AnkhSVN 的一项功能 即与 Red Gate SQL Changeset 工具集成 而无需完全卸载 VisualSVN 这感觉很危险 所以我想看看其他人是否有经验可以减轻或证实我的恐惧 Update所以我尝试卸载 Visua
  • Git:忽略公共存储库的文件,但不忽略私有存储库的文件

    我正在通过 git 在 Heroku 上部署 Rails 应用程序 目前 并且还希望有一个公共版本供人们查看 有些文件是敏感的 只能在 heroku 分支中提交和推送 而不是在 public 分支中提交和推送 解决这个问题的最佳方法是什么
  • 使用登录名签出 svn+ssh

    我想从存储库中签出一些内容 但是我输入 svn co svn ssh URL 我被要求输入密码 我想他使用的用户名来自我的控制台 但两者不一样 那么我如何使用不同的登录名使用 svn ssh 签出某些内容呢 SSH 允许您在连接 URL 中
  • 使用 JavaScript 命名空间是否存在任何危险?

    创建 JavaScript 命名空间时是否有任何危险 警告应该注意 我们的项目相当庞大 我们正在运行大量 JavaScript 文件 超过 20 个 预计还会更多 如果不使用命名空间 就不可能实现任何代码可维护性 因此我们像这样实现它们 v
  • 如何在 svn 存储库中搜索任何修订版中是否存在文件

    如何搜索名为foo txt曾经提交到我的 svn 存储库 在任何修订版中 右键单击签出文件夹的根目录 gt TortoiseSVN gt 显示日志 您也可以在那里输入文件名
  • 当您的 ant 构建过程在版本控制上崩溃时该怎么办

    所以我有一个很好的 Java 项目 使用 Ant 构建到 dist 文件夹 整个项目处于版本控制之下 因此我只需通过 dist 文件夹路径上的 svn导出 即可部署最新版本 但我的构建不断删除 dist 文件夹内的 svn 文件夹及其所有依
  • Windows 上 Matlab 64 位版本的免费 SCM [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当 Matlab 安装为 64 位版本时 它只能使用 64 位源代码控制系统 是否有免费的源代码控制系统
  • 由于 poms 中的版本发生更改,合并来自 Maven 发布分支的更改会产生冲突

    按照标准实践 我有一个用于功能开发的 svn 主干 以及一个用于构建版本的分叉分支 该分支是使用 maven 发布插件创建的 该插件也用于创建发布 碰巧的是 偶尔的错误将在分支上修复 并且这些更改需要合并回主干 为了不错过任何更改 我希望能
  • 如何仅在一个分支的提交上“git bisect”?

    在我目前正在进行的一个项目中 我们将每个功能保留为自己的分支 并在功能准备就绪时将其合并回主分支 每个功能分支内的提交可能包括大量 WIP 并破坏其他功能的功能 直到它完整且稳定 无论如何 由于主分支的提交是唯一 据说 稳定的提交 我想gi
  • MKS/ PTC Integrity 源相当于 svn:ignore

    我们在工作中使用 MKS PTC Integrity 进行源代码控制 是否有与 subversion 中的 svn ignore 标志等效的东西 本质上 我想要一种方法来告诉 MKS 忽略文件夹 文件的更改 即我们的编译器输出文件夹等 您可
  • 如何在powershell中使用SVN提交

    我想在我的 PowerShell 脚本中使用 SVN 命令 我知道我需要将 SVN 可执行文件声明为变量 但之后我想提交一个已声明为变量的文件 并且我想要给出的提交消息在文件中指定 svnExe C Program Files Tortoi
  • 无法推送到远程 GIT 存储库 - “[...] 似乎不是 git 存储库”

    我已经在我的服务器上使用适当文件夹中的以下内容设置了 GIT 存储库 我的子域的根目录 git mydomain com mkdir foo git cd foo git git init bare shared 这将使存储库可通过 URL
  • 孤独的开发人员但有大量的 xhtml css jquery 工作?我应该使用版本控制系统吗?

    它对于单用户单台 PC 有用还是太过分了 我可以使用任何版本控制系统来节省时间并提高生产力吗 如果答案是肯定的 那么哪种免费版本控制系统最适合我以及如何节省时间 我在家和办公室工作 这两个地方我都可以上网 我想从这两个地方访问源代码 Upd
  • 移动 SVN 存储库后的 git-svn ?

    我们最近将 SVN 服务器从一个数据中心迁移到另一个数据中心 并且服务器的 IP 发生了变化 我用了svn switch relocate old url new url更新我的实际工作副本 这很高兴 然而 我的大部分工作都是在本地 git

随机推荐