提交-拉-合并-推还是拉-合并-提交-推?

2024-01-16

我们几周前开始使用 Mercurial。大多数开发人员都遵循以下工作流程:

  • 致力于某项功能
  • commit -m“致力于功能 ABC”
  • pull -u
  • If branch
    • merge
    • 提交-m“合并”
    • push

今天,我们的一位开发人员建议我们这样做:

  • 致力于某项功能
  • pull -u
  • if branch
    • merge
  • commit -m“致力于功能 ABC”
  • push

这样,日志中的“合并”变更集就会少得多。

我们中的一些人认为这只是一个问题偏好。我们中的一些人认为其中一个比另一个更好。我们没有太多经验,也不想承受滥用该工具的负面影响。因此,如果一种方法比另一种方法更可取,请告诉我原因。


我更喜欢你原来的程序,但有理智的人肯定会不同意。我考虑合并实际的软件开发工作,并希望让它成为我们流程中的一等公民。

在您的第二个/建议的程序中,风险在于拉动会执行一些您真正不想要的操作,然后您很难将其与您已经完成的工作分开。

对于那些无法忍受分支历史的人来说,通常首选的工作流程是:

  • 致力于某项功能
  • commit
  • 拉--变基
  • push

哪里的--rebase启用后,拉动时会出现选项变基扩展 https://www.mercurial-scm.org/wiki/RebaseExtension。我不喜欢 rebase,因为它在技术上重写了历史,这与 Mercurial 的工作原理相反,但在这一点上我属于迅速缩小的少数派。

最重要的是,如果您真的不想要分支历史记录,请使用 rebase ——不要更新为未提交的更改,因为很难撤消。

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

提交-拉-合并-推还是拉-合并-提交-推? 的相关文章

  • 是否可以在 .hgignore 中使用根 glob 模式?

    我更喜欢在 hgignore 文件中使用 glob 语法 但现在我需要创建一个根模式 我想忽略我的 static 目录 但不想忽略 assets static 线路 static 忽略两者 有没有办法实现根全局模式 如果没有 我可以切换到正
  • TortoiseHg无法提交--“系统找不到指定的文件”

    我刚刚选择了 TortoiseHg 用于 Windows 上的分布式源代码控制 并将其安装在我的 C 驱动器上 然后我创建了一个存储库 位于 D projects 中 当我尝试提交更改时 它给了我错误 abort None 系统找不到 指定
  • 私人变更的用例

    假设我有以下场景 我克隆了一些开源项目 例如从 URL X 克隆的项目 现在我有了它的本地克隆 我对本地克隆进行了一些更改以尝试并在本地提交它们 现在我想要的是以下内容 我想从开源项目 X 获取更新 只需获取其所有最新代码 无需我进行任何更
  • 有什么方法可以改变 TortoiseHg 中图表的绘制方式吗?

    由于习惯了 ClearCase 绘制图表的方式 我乍一看发现 Mercurial 和 TortoiseHg 的方式令人困惑 This http nvie com posts a successful git branching model
  • hg 存档到远程目录

    有没有办法通过 SSH 将 Mercurial 存储库存档到远程目录 例如 如果可以执行以下操作 那就太好了 hg archive ssh email protected cdn cgi l email protection path to
  • 我怎样才能让两个“发展流”(分支?)相互跟踪,同时在特定方面保持不同?

    BRIEF 我想让两个 或更多 开发流 环境相互跟踪 在两个方向上发送彼此之间的更改 而不完全收敛 同时保留某些关键的 本质的差异 细节 一个具体的例子 下面是一个具体的例子 我对我的主目录 glew home 进行版本控制已有 28 年了
  • 为什么这段 C# 代码不起作用?我正在尝试将 shell 的输出读取到 TortoiseHG (Mercurial)

    我正在尝试让 Mercurial 在我的 C wpf 应用程序的 shell 中运行 我的目的是将输出检索到字符串中 以便我可以解析它 对我来说不幸的是 hg exe 来自 tortoiseHg 似乎不会通过下面的代码返回任何内容 其他 e
  • 当主干/分支/标签结构混乱时,如何从 Subversion 迁移到 Mercurial?

    我想将存储库从 Subversion 转换为 Mercurial 但是当我最初设置存储库时 我以最懒的方式完成了它 随着时间的推移 该结构不断变形和恶化 此时已有 5 年历史 尽管如此 我还是想保留尽可能多的历史 即使我必须弄脏并手动将东西
  • 是否可以同时从多个 Mercurial 存储库中提取数据?

    我希望能够做这样的事情 hg pull http server repo1 http server repo2 http otherserver repo 并让所有变更集立即下来 添加了 x 变更集 并对 z 文件进行了 y 更改 消息聚合
  • 将 CVS 升级到 git/hg 的技巧?

    我们仍然使用 CVS 我使用 git 和 hg 供我个人使用 尽管我对这两个工具仍然是新手 但我意识到它们更现代 更好 更快 分布式等 只是每个人都如此习惯 CVS 以至于我觉得如果我是推荐并实际将我们当前的 CVS 服务器升级 移植 转换
  • 为 Mercurial 执行 hgweb.cgi 时,指定的 CGI 应用程序行为不当...

    我有 IIS 6 我将 Mercurial 安装在 c program files mercurial 中 我在 c program files python 中安装了 Python 2 6 I added extension handli
  • 是否可以更改 Mercurial 中的默认 diff 工具?

    每次我做一个hg diff file ext我最终使用了控制台差异应用程序 我想使用 Kdiff3 或 WinMerge 我使用的是 Windows 有办法改变吗 我在 Mercurial 文档中找不到参考 我不是在谈论合并 我已经使用 M
  • 为 Eclipse 安装 Mercurial 插件时出错

    我刚刚为 Eclipse 安装了一个 Mercurial 插件 安装过程很顺利 但是安装后 当我重新启动 eclipse 时 显示错误 错误说 发生了多个 Mercurial 错误 请检查错误日志视图以获取详细信息 命令行 hg y deb
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • 在 Clearcase 上使用 Mercurial 时保留历史记录

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

    直到最近 我们一直在网络工作室的所有项目中使用 SVN 并且 Subversive 和 TortoiseSVN 等多个客户端中存在一个非常方便的功能 可以提取在某个版本中更改的所有文件 Mercurial 有没有办法做到这一点 我不在乎它是
  • Mercurial:如何管理公共/共享代码

    我将 Mercurial 用于个人用途 并出于各种原因考虑将它作为 SVN 的替代品用于某些分布式项目 我已经习惯将它用于自包含项目 并且可以看到各种共享选项 但是我还没有找到任何关于管理公共库的指南 以与 subversion 中的外部提
  • hg 语法的作用是什么:提交 A 是否可以从提交 B“到达”

    我的存储库的历史非常复杂 我经常发现自己想知道过去的某个提交是否 在 或 可从 某个修订 通常是我的头脑之一 到达 我该怎么做呢 您可以使用转速集语法 http selenic com hg help revsets 假设您想询问修订版 4
  • 如何在运行“更新”之前查看存储库中的文件

    I run hg pull这向我的存储库添加了新的更改 在使用新更改更新我的工作目录之前 我想查看这些新文件 更改 我相信我使用的 SVNsvn st u但在 Mercurial 中是如何完成的呢 在拉动之前 您可以使用 hg incomi
  • 如果在不同的分支上,为什么我不能重新建立源变更集的祖先?

    我想知道为什么以下模式不可能 创建了一个本地功能分支 minor feature 不打算与世界共享 后 我想将其上的工作重新建立到一个众所周知的分支 稳定 的尖端 然而我发现 在稳定版自从分支以来没有取得任何进展的情况下 rebase 找不

随机推荐

  • 使用“wait_variable()”时无法退出 tkinter 应用程序

    我有一个 python 代码 其中包括tkinter窗口和其他正在运行的任务 我一直在尝试绑定 WM DELETE WINDOW 当我关闭窗口但无法实现该功能时 该事件会退出我的 python 代码 这就是我尝试的 def on exit
  • 如何在 postgresql 上使用 sqlalchemy 进行正确的更新插入?

    我想使用 sqlalchemy 核心使用 postgresql 9 5 添加的 新 功能进行更新插入 虽然它已实现 但我对语法感到非常困惑 它无法适应我的需求 这是我希望能够执行的示例代码 from sqlalchemy ext decla
  • 仅在提供后才计算下载次数

    我们有以下代码可供下载 public class downloadRelease IHttpHandler public void ProcessRequest HttpContext context snip context Respon
  • Flex-wrap 具有不同高度的行

    我正在实现带有哈希标签链接的纯 CSS 选项卡 我非常非常接近 但无法完全让柔性包装正常工作 为了让一切按照我想要的方式工作 target 我之前已经使用单选按钮完成了此操作 这提供了更多的灵活性 我需要所有选项卡和所有部分都处于同一级别
  • 如何解决 AWS Cloudformation 中的循环依赖关系

    我创建了一个 AWS Cloudformation 模板 但在克服循环依赖项时遇到问题 我正在创建一个 EC2 实例和一个负载均衡器 负载均衡器依赖于 EC2 实例 因为它在其实例属性中引用它 一切都工作正常 直到我必须在 EC2 实例 I
  • 如何更新datagridview中的单元格?

    我有连接到我的数据库 访问 的 datagridview 如果我停留在任何单元格上并更改值 则会看到该值已更改 但是当我进行刷新时 我看到该值又回到了原始值 我如何更新这个单元格 没有sql查询 我将数据集绑定到 datagridview
  • 在 Spring Boot JPA 中,如何正确 POST 其实体表示与不同实体具有外键关联的对象?

    如果我有一个包含另一个类的对象的实体 例如Book其内部有一个实体Publisher关联的实体如下 ManyToOne JoinColumn name PUB CODE referencedColumnName PUB CODE priva
  • 如何反转 Groovy 集合的排序?

    我正在根据多个字段对列表进行排序 sortedList sort it getAuthor it getDate 这工作正常 但我想要逆转日期并且reverse 不起作用 如何按升序对作者排序 但按降序 反向 顺序对日期排序 我想要的示例
  • 如何以干净的方式分叉现有的 Meteorite 包?

    我正在尝试找出在项目中分叉 Atmosphere 上现有包的最佳 最干净的方法 我遇到过一些情况 现有的包需要一些修改 我被迫分叉它 据我所知 存在以下选项 不幸的是 所有这些都有自己的问题 我还没有找到完美的解决方案 我会用meteor
  • 使用水豚测试内容顺序(序列)

    我尝试过使用以下语法 page body index 姓名 但问题是 如果同一页面上有多个具有相同内容的字符串 则无法检查特定字符串的索引 对于前 页面有内容 姓名 和 电话 3次 那么如何验证具体内容的顺序 请建议我们是否可以使用 CSS
  • Chrome 不支持 getUserMedia()

    我正在尝试使用 getUserMedia 使用我自己的网站 使用我自己的 IP 地址运行 来访问我的网络摄像头 它工作正常 直到我再次尝试我的网站 我尝试过其他演示站点 给出的错误是 getUserMedia 不受支持 Chrome版本v4
  • Kafka以相反的顺序消费消息

    我使用Kafka 0 10 我有一个主题logs我的物联网设备将日志发布到其中 我的消息的关键是device id 所以同一设备的所有日志都在同一个分区 我有一个 API devices id tail logs需要显示呼叫时某台设备的最后
  • 在 javascript postmessage 上到本地磁盘上的父级 HTML iframe

    我正在开发一个项目 涉及在 iframe 中托管网页 而托管父 iframe 位于本地磁盘上的 HTML 文件中 例如在 c 而内部托管 iframe 位于某些服务器上 两个网页需要互相发送消息 父 iframe 在本地磁盘上 向内部框架发
  • Log.e 不打印 UnknownHostException 的堆栈跟踪

    Calling Log e TAG some message e where e is an UnknownHostException 不会在 logcat 上打印堆栈跟踪 自2011年5月20日起 Log类 这样UnknownHostEx
  • 如何在ggplot2中通过点绘制45度线

    我有一个对数刻度的散点图 其中垂直和水平参考线穿过 1 1 下面的虚线 我想添加与虚线参考线成 45 度角的额外参考线 以便它们恰好平分虚线参考线创建的四个 部分 例如 下面我刚刚通过眼睛添加的较细实线 我怎样才能用 ggplot 做到这一
  • 使用任何 Android 设计支持库元素时出错

    从设计支持库中扩充任何内容时出错 xml
  • 如何从 Ruby on Rails 解析 json 数据或(json 代码)

    我有一个 Ruby on Rails 源代码 现在我想解析数据并发送数据 在我的代码中 它将从用户获取名称并显示它 如何解析 ROR 中的数据 这是我的controller rb代码 def index hotels Hotel all r
  • shell 文本编辑器如何工作?

    我对编程相当陌生 但我想知道 shell 文本编辑器 如 vim emacs nano 等 如何能够控制命令行窗口 我主要是一名 Windows 程序员 所以也许 nix 上的情况有所不同 据我所知 只能将文本打印到控制台并要求输入 文本编
  • 如何扫描 pandas 数据帧中所有大于某值的值并返回与该值对应的行号和列号?

    我有一个问题 我有如下所示的巨大数据集 相关系数矩阵 A B C D E A 1 0 413454352 0 615350574 0 479720098 0 34261232 B 0 413454352 1 0 568124328 0 31
  • 提交-拉-合并-推还是拉-合并-提交-推?

    我们几周前开始使用 Mercurial 大多数开发人员都遵循以下工作流程 致力于某项功能 commit m 致力于功能 ABC pull u If branch merge 提交 m 合并 push 今天 我们的一位开发人员建议我们这样做