svn - 创建本地 SVN 分支

标签 svn version-control repository tortoisesvn

我正在开发 SVN 存储库,不想创建新的 SVN 分支。取而代之的是,我想在我的机器上创建一个本地分支,这可以通过 Git 轻松完成。 .

但我目前正在使用 SVN,需要从已经修改的 SVN 版本中分支出来。本质上,我想要以下内容:

  • svn_repo_version = 2259
  • working_copy = 修改 2259
  • new_local_svn_branch = 基于修改后的 2259

  • 最好的方法是什么?

    最佳答案

    Subversion 是一个集中的版本控制系统。集中式系统的一些优点是它迫使每个人都使用相同的代码库。你不能一次隐藏你的工作几个月,然后在大版本发布前两天突然把它放下。不好的部分是你不能真正拥有一个私有(private)分支,也不能让它出现在存储库中。

    您没有理由不能创建自己的分支。事实上,我曾经为我们的开发人员提供一个特殊的“私有(private)”目录,他们可以在其中放置自己的代码,并进行私有(private)分支。我有一个预提交脚本,只允许分支的所有者进行更改,尽管我已经设置了它,所以任何人都可以看到它。

    如果您担心您的私有(private)分支可能会阻塞 branches目录,记住你可以从 branches 中删除一个分支完成后的目录。或者,您可以请求并行 private可以放东西的目录。

    如果您真的想创建一个真正的私有(private)区域,您可以在其中使用 Subversion 并 checkin 代码而不出现在主存储库中,我知道您有两种选择:

  • SVK :这是一个前端分布式版本控制系统,在其后端使用 Subversion。您可以创建自己的 Subversion 存储库,并在本地存储库和主存储库之间来回发布更改。
  • Git : Git 自带一个工具,叫做 git-svn它允许您将数据从 Subversion 存储库中提取到本地 Git 存储库中。然后,您可以使用本地 Git 存储库进行分支,然后将更改的内容推送回 Subversion。甚至还有 Tortoise 的 Git 版本.

  • 唯一需要注意的是,您将不得不使用这两种工具的命令行界面弄脏您的手。

    关于svn - 创建本地 SVN 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6206537/

    相关文章:

    maven-2 - Maven 构建执行 svn get

    php - 在 Symfony 中获取存储库变量的名称

    c# - 通过 SOAP 的 MVC 3 存储库模式

    SVN:即使更新后文件仍然存在冲突

    svn - 匿名 SVN checkout ,但验证提交

    git - merge 两个存储库(原始项目和没有历史记录的更改项目)

    svn - 使用 SCM 从 Xcode 中的 SVN 中排除文件/目录

    git - 删除 GIT 中 "is outside repository"的文件

    android - Cordova 构建错误 - EPERM,不允许操作

    svn - 在 SVN 中共享文件