gpt4 book ai didi

mercurial - 在 Mercurial 结帐之间移动不完整的代码

转载 作者:行者123 更新时间:2023-12-02 23:42:27 25 4
gpt4 key购买 nike

我检查了台式计算机上的代码库并对其进行了一些处理。现在我要离开并希望在我的笔记本电脑上进行这些更改。

一种解决方案是简单地提交不完整的代码,然后将它们拉到我的笔记本电脑上。但这意味着我在存储库中存在未编译的代码,这是我想避免的。

处理这个问题的最佳方法是什么?生成并应用补丁?使用 hgserve 移动不完整的更改?

最佳答案

以下是执行此操作的三种方法。我将讨论每种方法的优缺点:

选项 1:使用 hg diff 获取显示未提交更改的 diff 文件,然后在接收方使用 hg import --nocommit结束应用这些更改而不创建新的更改集

  • 优点:简单,不创建变更集
  • 缺点:实际上并不像 DVCS 那样使用 Mercurial。可能无法捕获新添加的文件

选项 2:在发送端提交,推送到接收端(或从中拉取,或将 hg 包 放在闪存驱动器上),绕过工作服务器,在接收端更新,然后双方hg回滚以消除变更集(但保留更改。

  • 优点:按照 Mercurial 的意图使用推拉来移动更改
  • 缺点:哈克。依赖于回滚,仅适用于 1 级深度。不小心拉了两次,第一次就无法撤消。

选项 3:在发送方提交。推送到只有您可以访问的开发人员存储库,然后在接收端拉取。在事情构建之前不要推送到公司存储库,但是当你推送时推送所有插页式变更集

  • 优点:这正是 DVCS 的含义。您的工作顺序已记录并保存
  • 缺点:需要设置一个仅限您的克隆

FWIW,我推荐选项 3。每个开发人员存储库正是 DVCS 的用途。如果您的公司无法轻松地在您可以在家或外出访问的服务器上设置一台服务器,请向他们指出记录开发人员完成修复/功能的过程的巨大值(value) 鼓励开发人员经常推送不需要编译的存储库有利于日常备份。

最后,在完成功能或修复后,您可以随时折叠所有中间变更集。我不喜欢这样做(我是一个展示你的作品的人),但方法如下:Can I squash commits in Mercurial?

关于mercurial - 在 Mercurial 结帐之间移动不完整的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1737131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com