SubGit:如何排除分支?

2024-01-27

我正在测试 SubGit 作为从 SVN 迁移到 Git 的一种方式。

我想做的是能够在 git 存储库中创建所有用户都可以使用的远程分支does not同步回 SVN。

我只希望 SubGit 跟踪 master 分支并将其同步回 SVN,以便我们可以自由地使用和共享其他 Git 分支。

有没有一种简单的方法可以做到这一点?

谢谢


理想的解决方案是指定主干:refs/heads/master映射到子Git配置 http://subgit.com/book/#branches-mapping,所以 SubGit 会同步trunk with master忽略任何其他分支。

不幸的是,SubGit 目前至少需要一个分支映射(版本 1.0.x 和 2.0.x)。也就是说,必须指定如下内容:

trunk = trunk:refs/heads/master
branches = branches/*:refs/heads/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*

由于您不打算同步所有 Git 分支,请考虑使用一些特殊的命名空间来解决该问题:

trunk = trunk:refs/heads/master
branches = branches/*:refs/gitsvn/heads/*
...

所以,如果有人推master分支到中央 Git 存储库,它会被转换为trunk。然而,如果有人推分支foo,SubGit 会忽略该分支,因为参考文献/头/foo超出同步范围。

麻烦来自合并提交:如果提交 A 是合并分支的结果foo into master,然后 SubGit 创建分支/foo如果您不想将 SubGit 生成的分支包含到 *branches/** 命名空间中,请考虑在 Subversion 端使用一些特殊分支:

trunk = trunk:refs/heads/master
branches = gitsvn/branches/*:refs/gitsvn/heads/*
shelves = shelves/*:refs/shelves/*
tags = gitsvn/tags/*:refs/gitsvn/tags/*

在这种情况下,提交 A 的同一个父级应该被发送到git svn/分支/foo branch.

这是目前可用的最佳解决方案。我们还对 2.1 版提出了一个功能请求,该请求将为您提供理想的解决方案,但我们需要一些时间才能实现它。

SubGit 3.0 更新:

从版本 3.0.0 开始(目前为早期访问阶段,下载地址:http://subgit.com/eap http://subgit.com/eap) SubGit 支持单分支布局,因此配置文件可能如下所示:

  1. 没有树干,没有树枝,没有标签,没有架子:

    [svn]
        url = http://host.com/repos/project
    

    在这种情况下,project目录直接映射到masterGit 存储库中的分支; SubGit 忽略任何其他分支并且从不创建架子,这意味着匿名 Git 分支不会同步到 SVN。

  2. 单行李箱,无架子:

    [svn]
        url = http://host.com/repos/project
        trunk = trunk:refs/heads/master
    

    在这种情况下,项目/主干目录被映射到masterGit 存储库中的分支; SubGit 忽略任何其他分支并且从不创建架子。

  3. 带架子的单行李箱:

    [svn]
        url = http://host.com/repos/project
        trunk = trunk:refs/heads/master
        shelves = shelves/*:refs/shelves/*
    

    在这种情况下,项目/主干目录被映射到masterGit 存储库中的分支; SubGit 忽略任何其他分支,但默认情况下,它会将匿名分支转换为版本 1.0.x 和 2.0.x 的架子。

希望有帮助。

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

SubGit:如何排除分支? 的相关文章

  • 持续集成颠覆

    抱歉 如果这个问题的答案已经存在 我还没有找到 我是网络开发团队的成员 我们维护一个网络门户 发布管理与 Subversion 配合使用 这就是我向门户添加新功能时的工作方式 通过复制 Trunk 创建新的 Branch 在那个分支发展 定
  • 通过链接进入 git-repo,无需冗长的对话框

    In a directory I have symbolic links into a git administered directory all under Linux Every time I want to e dit such a
  • Visual Studio Code 内置故事,用于查看 git 提交历史记录并对其内容进行比较

    In this https stackoverflow com questions 37899765 how can i view the git history in visual studio code 60013101 noredir
  • 自动生成/删除詹金斯工作

    我正在寻找一种自动创建一组詹金斯作业的方法 通常在创建新的 git 分支之后 我已经为maven尝试过这个插件 http evgeny goldin com wiki Maven jenkins plugin http evgeny gol
  • git Blame:合并后正确的作者

    GIT 合并引入了新的提交 这会导致 git Blame 问题 合并的行似乎是由进行合并的开发人员提交的 我可以理解这种情况冲突的变化 因为他解决了冲突 但是有没有办法让非冲突线路不发生这种情况呢 一些 git Blame 的选择 如果没有
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • Git post-receive - 如何检查推送的分支是否与主分支合并

    在我们的团队中 我们通常将所有任务推送到单独的分支中 然后发布经理审查这些分支并将它们合并到 主 分支中 有时团队成员忘记将他们的分支与主分支合并 在推送之前 所以我想做的是 在用户推送后输出一条消息 请与主分支合并 我想我需要检查一些内容
  • 如何签出仅在“git ls-remote”中列出的分支?

    我遇到了无法切换到仅列出的分支的情况git ls remote 这是详细信息 我分叉了一个 github repoA 作为 repoB 创建了自己的分支并将其推送到 ComputerA 中的 repoB 在 ComputerB 中 我将分叉
  • 您的分支比“origin/master”领先 3 个提交

    我在运行时收到以下信息git status Your branch is ahead of origin master by 3 commits 我读过其他一些帖子 解决这个问题的方法是运行git pull rebase但是 rebase
  • 如何禁用 GitHub 中的拉取请求?

    我试图了解如何禁用 github 中的 拉取请求 问题一 我们正在尝试使用变基工作流程 这意味着如果不是快速推进 那么使用拉取请求可能会有害 一种解决方案 为我想要禁用拉取请求的分支设置分支权限 或者将我添加为任何进入 master 的内容
  • git 如何查找分支源自的提交哈希

    假设我从主分支分支到主题分支 然后在主题分支上进行了一些提交 是否有命令告诉我主题分支源自的主分支上的提交哈希 理想情况下 我不必知道我做了多少次提交 试图避免 HEAD 5 我已经用谷歌搜索过 但似乎无法找到答案 谢谢 use git m
  • 如何关闭分支而不将其从 git 的历史记录中删除?

    我想提交并关闭其分支 而不将其从历史中删除 有了水银我会commit close branch then update转到上一个 然后继续工作 有了 git 我很困惑 没有与 Git 中关闭分支完全相同的方法 因为 Git 分支比 Merc
  • 我可以忽略全局 .gitignore 吗?

    我的全局 gitignore 一般都很棒 但对于这个一次性项目 我不希望应用全局规则 如何删除这个怪异存储库的全局 gitignore 规则 在您的存储库中运行此命令 git config local core excludesfile f
  • TortoiseSVN 无法连接到 SlikSVN Subversion 服务器

    我已经在工作组中的一台计算机上创建了 SubVersion 服务器 从我的开发盒中 我可以毫无问题地访问存储库并签入 签出文件 我刚刚安装了 TortoiseSVN 无论我做什么 它都不会连接到服务器上的存储库 我收到臭名昭著的错误 无法建
  • 为什么 git-svn 应该积极搜索旧历史?

    当我运行 git svn clone s 时发生了一些奇怪的事情 尽管以下信息告诉我们不要惊慌 但我想知道为什么会出现这种 svn 错误 为什么这个路径不存在 是被别人删除了吗 如果是 为什么 git svn 应该积极搜索旧历史记录 Ini
  • git-svn 如何知道要提交到哪个分支?

    我的存储库是 SVN 我使用 git 进行所有开发 我们有一个标准布局 我用以下命令初始化了我的本地存储库git svn init s
  • 更改先前提交的作者姓名:快进推送被拒绝

    我最近在 GitHub 上打开了一个存储库 我是 Git 新手 与新人一样 我使用默认名称和电子邮件进行提交 按照最佳菜鸟传统 我发现五次提交为时已晚 现在乐趣开始了 因为我开始搜索有关如何更改这些提交的作者和提交者名称的信息 美好的 我基
  • 为别名命令添加“git help”?

    我已经实现了一个 Git 命令并使用 git 别名将其连接到 Git 但是有没有办法连接 Git 帮助 我在 Windows 上运行 如果我发出git help mycmd我收到一个弹出窗口 告诉我 Git 找不到 git mycmnd h
  • 如何使用 git --word-diff 显示空格差异?

    为了说明问题 参见diff https github com nim lang Nim commit 47c7fd037ed28b7de3d120b003d059d30e18f128 diff split diff 8af935b2312d
  • 如何恢复已删除的远程分支

    我们的远程主分支被删除 我有主存储库的本地副本 但它已经过时了 我可以通过将最后一个已知的提交哈希值插入 URL 来查看 github 中的分支 但未能成功恢复它 我尝试了几个步骤来恢复它 git reset hard 16deddc05c

随机推荐

  • 如何将自定义文件导入 APK

    众所周知 apk 文件是一个 zip 格式的存档文件 包括以下文件和文件夹 AndroidManifest xml assets 类 dex META INF res 资源 arsc 我想要的是包含一个自定义文件 即 README txt
  • 创建一个人类可读的时间戳并存储在 C++ 中的字符串中

    我想根据程序运行的时间创建带有时间戳的文件名 即 logfile 2020 04 21 18 11 10 txt logfile 2020 04 22 18 13 43 txt 我可以得到时间戳 我认为 std chrono steady
  • 异步多线程异常处理?

    我希望在异步编程 beginInvoke endInvoke 中采用一种异常处理方法 其中如果任何一个线程 beginInvoke 失败 那么我希望所有其他异步处理线程停止工作 请提出一些解决方案 下面我还附上了我的示例代码 public
  • 如何与框架项目 swift 共享父(主机)项目 pod?

    我正在开发框架 我已将此框架项目添加到宿主项目中 现在我想将 cocoapods pod 框架 添加到父 主机 项目中 并将相同的 pod 共享到子 框架 项目中 或者我可以添加一些东西到 Podfile 中 它将与子项目共享 SwiftP
  • Report Builder 3.0 SWITCH 表达式 DEFAULT/ELSE

    我正在尝试根据用户的特许经营号码显示不同的徽标 参数 UserFranNr 如果值 99 且 87 则要显示的嵌入图像是 ID0 嵌入图像名称是字符串 这适用于嵌套 IIF 但似乎是使用正确的时间 地点SWITCH 未来很可能会有更多特许经
  • 无法登录 Magento 管理员

    我已将 magento 安装在子目录中 www domain com subdir magento 该网站一度运行得非常完美 我什么也没做 直到我的客户说他无法登录到 magento admin 我从我的电脑上登录得很好 但在他的电脑上 它
  • 使用 Delphi 以编程方式添加、删除文件并将文件提交到 Subversion 存储库中

    我想以编程方式检查文件是否已版本化 并使用 Delphi 添加 删除文件并将文件提交到 subversion 存储库中 有谁有示例代码可以帮助我创建必要的函数和过程 Thanks Steve Delphi XE 集成是开源的 基于 MPL
  • 我如何从左侧切换而不使用 jquery-ui

    如何在不使用 jquery ui 的情况下从左侧切换 JavaScript document ready function button click function content slideToggle HTML div This is
  • Javascript toFixed 不四舍五入

    我正在使用 javascript 绑定到一些复选框 并且toFixed 2 没有四舍五入 有什么想法为什么不四舍五入吗 例如 如果数字是859 385它只是显示859 38代替859 39 我还读到toFixed可以根据您使用的浏览器进行不
  • 消息中的换行符

    使用Google Apps脚本 如何在变量中换行以发送邮件 换行符在msgBox Browser msgBox line 1 n line 2 请注意 您需要使用额外的反斜杠转义 n
  • React Native 应用程序崩溃,没有任何错误日志

    React Native 应用程序崩溃 没有任何错误日志 没有输出 react native log android 终端 没有出现错误的红屏 Android 模拟器只是崩溃 尝试使用 Expo 运行 再次崩溃 没有错误 工作时发生Text
  • 滚动到 UWP 的 ListView 中的新项目

    我正在创建一个带有包含消息的 ListView 的聊天应用程序 当发送 接收新消息时 ListView 应滚动到新消息 我正在使用 MVVM 所以 ListView 看起来像
  • ASP.NET 正则表达式验证器(密码强度)

    我有一个具有以下表达式的验证控件 d 2 w 2 W 1 8 这是一个至少包含以下内容的密码2 digits 2 个字母字符 1 个非字母数字 and 最少 8 个字符 不幸的是 这似乎不兼容跨浏览器 此验证在 Firefox 中完美运行
  • 在 HPC 集群上使用 python 代码 (mpi4py) 提交作业

    我正在工作带有 MPI 的 python 代码 mpi4py 我想在 HPC 集群的队列中跨多个节点 每个节点有 16 个处理器 实现我的代码 我的代码结构如下 from mpi4py import MPI comm MPI COMM WO
  • 是否有与 SQL Profiler 等效的 IBM Iseries/DB2?

    主题说明了一切 希望捕获提交给 DB2 的 sql 查看 Iseries SQL 退出点 它允许您记录任何提交的 SQL 唯一的问题是您必须编写自己的程序来进行日志记录 http publib boulder ibm com infocen
  • Ant 继承 Maven 属性

    我正在考虑将 Ant Ivy 项目转换为 Ant Maven Ant Tasks 我不想单独使用 Maven 因为我需要对构建过程进行更多控制 有没有办法让Ant build xml 文件继承pom xml 文件中设置的属性 我一直在创建一
  • Python cv2 中的皮肤检测和背景扣除

    在过去的几天里 我一直在使用 OpenCV Python 开发手势识别程序 理想情况下 我希望拥有一个如图所示的系统这个视频 https youtu be xML2S6bvMwI list PLtszSfeV ZqjcPArVX1PU68V
  • 默认的 WCF 绑定是什么?

    我已经挣扎了几天了这个问题 https stackoverflow com questions 6186663 cant send wcf service request as soapxml 在这个过程中学到了很多关于绑定的东西 不过 有
  • 如何浏览特定版本的Android源代码?

    我知道android源代码保存在这里 https android googlesource com https android googlesource com 但我看不到任何浏览旧版本代码的方法 我会如何看待 比如说 dalvik lib
  • SubGit:如何排除分支?

    我正在测试 SubGit 作为从 SVN 迁移到 Git 的一种方式 我想做的是能够在 git 存储库中创建所有用户都可以使用的远程分支does not同步回 SVN 我只希望 SubGit 跟踪 master 分支并将其同步回 SVN 以