Mercurial:在一个存储库中的分支之间合并一个文件

2024-01-02

当我在 Hg 存储库中有两个分支时,如何仅将一个文件与另一个分支合并,而不合并变更集中的所有其他文件?

是否可以仅合并某些文件,而不是整个变更集?


警告:“虚拟合并”,原样@Martin_Geisler 推荐 https://stackoverflow.com/a/1079497/3195477,如果稍后您想要对两个分支进行真正的合并,真的会把您搞砸。虚拟合并将被记录,并说您合并到您进行虚拟合并的分支 - 您将看不到更改。或者,如果您合并到另一个分支,则该另一个分支上的更改将被撤消。

如果您只想将整个文件从一个分支复制到另一个分支,您可以简单地执行以下操作:

   hg update -r to-branch
   hg revert -r from-branch file
   hg ci -m 'copied single file from from-branch to to-branch

如果您想选择该文件的不同部分,那么"hg record"很有用。

我刚刚在我的主目录 .hgignore 上执行了此操作。

如果两个分支都对您想要保留的文件进行了更改,则一个肮脏的技巧是使用 hg merge 创建两个分支的合并,可能/可能在另一个分支上,签入,然后复制单个文件合并和分支之间:

   hg update -r to-branch
   branch merge-branch
   hg merge -r from-branch
   hg ci -m 'temp merge to be discarded"
   hg update -r to-branch
   hg revert -r merge-branch single-file
   hg ci -m 'merged single-file from from-branch to to-branch"
   hg strip merge-branch

值得一提的是:“在分支之间复制单个文件”(或修订版,或从修订版到合并,或......)的方式是“hg revert”。 IE。

   hg update -r Where-you-want-to-copy-to
   hg revert -r Where-you-want-to-copy-from file-you-want-to-copy
   ...
   hg ci

出于某种原因,我和我的一些同事发现这个VERY令人困惑。 "revert"=="copy" ...对于某些使用模式有意义,但并非全部。

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

Mercurial:在一个存储库中的分支之间合并一个文件 的相关文章

  • 如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样?

    Mercurial 的一个有趣的功能是能够查看将在 vim split 中提交的更改 请参阅VIM 中的 DiffsInCommitMessage https www mercurial scm org wiki DiffsInCommit
  • 为什么这段 C# 代码不起作用?我正在尝试将 shell 的输出读取到 TortoiseHG (Mercurial)

    我正在尝试让 Mercurial 在我的 C wpf 应用程序的 shell 中运行 我的目的是将输出检索到字符串中 以便我可以解析它 对我来说不幸的是 hg exe 来自 tortoiseHg 似乎不会通过下面的代码返回任何内容 其他 e
  • 如何管理提交者的层次结构(如 Linux 内核开发)

    我是一个拥有 GitHub 存储库的项目的提交者 我有一个开发人员小组 他们无法读取或提交该存储库 我想设置一个他们可以提交的 git 服务器 它是 GitHub 存储库的克隆 当他们提交时 我会对其进行审查 有时进行编辑 然后推送到 Gi
  • 我可以在 Mercurial 中进行分支而不克隆存储库吗?

    最近 我开始尝试 Mercurial 因为它总是因其简单性和 正常工作 原则而吸引我 或者至少 其他人总是这么描述它 他们通常也将其描述为 实际上与 git 相同 只有一些你不会注意到的细微变化 只是我发现事实并非如此 我的汞分支有问题 如
  • hg Convert --authors errorUsers <-- 文件的格式是什么?

    Related here https stackoverflow com questions 732819 can i change the username on a mercurial changeset 757604 757604 指
  • 使用 hg 存储库作为网站

    这与我的安全问题有些相关here https stackoverflow com questions 2361626 security deny access to hg via mod rewrite 对实时网站使用 hg Mercuri
  • 为 Mercurial 执行 hgweb.cgi 时,指定的 CGI 应用程序行为不当...

    我有 IIS 6 我将 Mercurial 安装在 c program files mercurial 中 我在 c program files python 中安装了 Python 2 6 I added extension handli
  • 为 3 人团队设置 Git?

    这篇文章的目的是总结所有信息 为 3 人参加比赛建立一个封闭的存储库 请随意将我没有注意到的问题添加到列表中 请将每个问题的每个答案添加为单独的答案 情况一 草稿和文件可以在3人之间交换 这 writer 只能将文件推送到 存储库 情况B
  • bitbucket、“hg 推送”和“hg 更新”

    如果我从本地 Mercurial 存储库开始 我认为它是 主要 存储库 请原谅我的 dvcs 领主 并打算使用 bitbucket 作为备份和问题跟踪工具 我可以在本地进行所有更改repo 并执行 hg Push 将更改发送回 bitbuc
  • 二进制增量存储

    我正在寻找一种二进制增量存储解决方案来版本化大型二进制文件 数字音频工作站文件 使用 DAW 文件时 与用于存储原始数据 波形 的大量数据相比 大多数更改 尤其是在混音结束时 都非常小 如果我们的 DAW 文件有一个版本控制系统 让我们可以
  • TFS:使用主分支的更改更新分支

    所以 我们有我们的主开发线 我创建一个分支 开发人员 b 创建一个分支 我们俩都做一些工作 开发人员 b 完成他的工作 合并回主开发线 我知道他的更改会影响我 我不想稍后再处理冲突 而是想使用现在主开发行中的更改来更新我的分支 这样我就可以
  • 在源代码管理中管理我的数据库

    由于我正在处理一个新的数据库项目 在 VS2008 中 而且我从未从头开始开发数据库 因此我立即开始研究如何在源代码管理 在本例中为 Subversion 中管理数据库 我找到了一些关于SO的信息 包括这篇文章 保持多个环境中的开发数据库同
  • 如果文件已在服务器上,请避免使用 git-ftp 上传

    假设我有应用程序的本地副本 我将其推送到 github 然后使用 git ftp 将任何更改上传到我的服务器 我首先会使用 git ftp init u
  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

    我有一个大项目 比方说A repo 其中有一个子文件夹来自B repo 当我提交时 我会遇到如下警告A repo warning adding embedded git repository extractor annotator serv
  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • 在 Clearcase 上使用 Mercurial 时保留历史记录

    我在 ClearCase 商店工作 CC 在集成团队的工作方面做得很好 尽管我们的代码审查流程阻止我使用它来跟踪我的日常更改 在我的 CC 视图之上创建 hg 存储库效果非常好 我可以跟踪我的更改并轻松在文件服务器上进行备份 为人们生成差异
  • git 显示已添加到 gitignore 的文件中的更改?

    我已经将 log2 文件夹和 main js 文件添加到 gitignore 如屏幕截图所示 但即使执行后git rm cached r我仍然可以看到 git 正在检测 main js 和 log2 文件夹内文件的更改 怎么会 这些的常见问
  • Maven 中不同配置文件的不同 SCM

    在我的项目中 我们必须使用 maben build number 插件来构造 jar 的最终名称 为此我们使用 SCN 的修订版 因此我们需要 SCM 但是我们在无法直接访问的受控环境和本地测试环境上有两个 SVN 因此对于我们的 poup

随机推荐

  • 打开 Xcode 4.6 制作的故事板时 Xcode 5 崩溃

    我正在为一个项目工作Xcode 4 6从 2 个月前开始 现在我想将我的应用程序发送给苹果 一切都很好 但是当我尝试运行该应用程序时iOS 7我看到了一些错误 所以我已经下载了新的Xcode 5看看哪里有错误 但发生的事情是当我尝试用 IB
  • 从 prometheus-node-exporter 导出的指标中查找准确的 CPU 百分比

    我用node cpu seconds total为此的指标 基本上 我想减去mode idle 从总CPU使用率中得出结果 然后取平均率 然后计算百分比 我尝试过类似的东西 100 avg rate node cpu seconds tot
  • 相当于使用lxml.html解析HTML时的InnerHTML

    我正在编写一个使用 lxml html 解析网页的脚本 我曾经做过相当多的 BeautifulSoup 但由于 lxml 的速度 我现在正在尝试它 我想知道库中最明智的方法是什么 相当于 Javascript 的 InnerHtml 即检索
  • 设置页面加载时的滚动位置

    我希望在页面加载时设置页面滚动 我可以通过 div 滚动顶部或仅像素高度来设置它 document ready function document scrollTop 100
  • CSS 动画 - 从中​​心增长(从中心点缩放到整个容器)

    我正在开发一款游戏 我想为一些盒子制作动画 我想要一个盒子从小处开始 然后向外生长 所有边缘同时生长 看起来就像从中心向外生长的效果 到目前为止 我拥有的最好的动画如下 它根据我的需要增加盒子的高度和宽度 但从左侧和顶部开始 我希望它从一个
  • PHP:Excel 无法打开文件,因为文件格式或文件扩展名无效

    当我尝试打开从应用程序下载的 xls 文件时 出现此错误 Excel 无法打开该文件 因为文件格式或文件扩展名无效 验证文件未损坏并且文件扩展名与文件格式匹配 这是我的 php 代码 首先 我上传 xls 文件 if is uploaded
  • 命令 vue init 需要全局插件

    当我尝试vue init webpack test app 我收到以下错误 Command vue init requires a global addon to be installed Please run npm install g
  • fs.readdir 忽略目录

    我想扫描该文件夹 但忽略其中包含的所有文件夹 目录 我在 C folder 中只有 txt文件和其他文件夹 我只想扫描txt文件 并忽略文件夹 app get generatE function req res const logsFold
  • 使用 TFS + git 设置 Xamarin Studio 版本控制

    我正在设置Xamarin with 团队基础服务 git开发 iOS 应用程序 我尝试了许多不同的设置 试图在 MAC 上设置 TFS git 集成 但没有成功 我不断收到其中任何一个的例外情况not authorized or faile
  • 在最新版本的 Notepad++ 中排序不区分大小写

    如何在最新版本的 Notepad 即 gt 6 5 中进行不区分大小写的排序 我知道使用 TextFX 的旧方法 但是 Notepad 现在具有内置的 行操作 但这些似乎区分大小写 您仍然可以使用TextFX 角色Notepad 最新版本中
  • Rails 3 覆盖 Devise 会话控制器

    我需要在登录过程中覆盖 Devise 会话控制器 Rails 3 0 9 Ruby 1 9 2 Devise 1 3 4 我尝试过但没有任何效果 class SessionsController lt Devise SessionsCont
  • Node-webkit 应用程序 - 如何更新它?

    我正在使用 node webkit 为我的学生开发应用程序 并提供一站式解决方案 我需要每月更新一次 node webkit 存档 我有办法做到这一点吗 基本上我每个月只需要替换一个 html 文件 比如 page1 html 我用谷歌搜索
  • 为什么 Java 的序列化比第 3 方 API 慢?

    在处理套接字和序列化对象时 我注意到有一些第三方库可以在 Java 上实现更快的对象序列化 例如Kryo http code google com p kryo and FST http code google com p fast ser
  • “spring-boot-maven-plugin”重新打包后,“Implementation-Version”不在清单中

    在 Maven 中给出这个插件配置pom xml
  • asmx Web 服务、json、javascript/jquery?

    我正在使用 asmx 从数据库检索一些数据 public class TestPage1 public int UserID get set public string UserName get set public string Pass
  • 函数中的引用如何工作?

    首先 我编写了第一个代码示例 但它无法正常工作 我更喜欢第一个示例 但只有第二个示例可以正常工作 我不知道为什么第一个样本没有改变原始数组 但第二个样本却改变了 差别在哪里呢 第一个样本 import heapq def heap sort
  • WPF进度条样式是块状的?

    我在应用程序中使用不确定的进度条 并且得到了一系列水平运行的块的糟糕动画 难道没有更好的风格可用 例如 vista 或 windows 7 吗 您的进度条具有与当前 Windows 主题相对应的样式 如果您在带有 Aero 主题的 Wind
  • 显示:内联边距、填充、宽度、高度

    如果我设置display inline对于任何元素 那么将margin padding width height不影响该元素 是否有必要使用float left or display block or display inline bloc
  • 是否可以在线检索 Dynamics CRM 中的架构更改信息?

    创建自定义实体 添加或更改字段时 有人会对元数据进行开箱即用的更改 如何知道是谁以及何时做的 从 UI 表单创建或修改也是如此 CRM 中的元数据似乎不存储该信息 我认为无法访问您所要求的信息 本地 CRM 数据库中没有此类信息 我想 CR
  • Mercurial:在一个存储库中的分支之间合并一个文件

    当我在 Hg 存储库中有两个分支时 如何仅将一个文件与另一个分支合并 而不合并变更集中的所有其他文件 是否可以仅合并某些文件 而不是整个变更集 警告 虚拟合并 原样 Martin Geisler 推荐 https stackoverflow