相关疑难解决方法(0)

hg相当于git add -p?

是否存在类似于汞的情况git add -p

从man引用,使用选项-p(或--patch)进行git-add执行以下操作:

在索引和工作树之间以交互方式选择补丁,并将它们添加到索引中.这使用户有机会在将修改后的内容添加到索引之前查看差异.

git mercurial git-add

45
推荐指数
4
解决办法
6504
查看次数

版本控制最佳实践

前几天我刚刚转向版本控制,经过Subversion的糟糕体验后,我转向Mercurial,到目前为止我很满意.

虽然我理解并欣赏版本控制的想法,但我对它没有任何实际经验.

现在,我正在使用它来处理我正在研究的几个网站,并且想到了几个问题:

  • 我应该多久/多久一次?经过任何重大改变后,是否有效?我什么时候做完了?只有当它到达下一个稳定的迭代时?任何错误修正后?
  • 当我想要改变菜单的布局,然后合并回来时,我会分支吗?
  • 我应该分支吗?在分支,然后合并回来,克隆存储库并将其拉回来之间有什么区别(对于我,一个单独的开发人员)?

版本控制新手的任何其他建议?


到目前为止,每个人都给了我很好的建议,但非常注重团队.我想澄清一下:

目前,我只是在我做的一些网站上使用VC.不完全自由职业的工作,但出于VC的目的,我是唯一一个真正触及网站代码的人.

此外,由于我在网站上使用PHP,因此无法进行编译.

这会显着改变您的答案吗?

version-control mercurial

26
推荐指数
2
解决办法
2034
查看次数

不做部分提交"Mercurial方式"

Subversion商店考虑转向Mercurial,试图提前弄清楚开发商的所有投诉是什么.这里有一个相当常见的用例,我看不懂如何处理.

  1. 我正在研究一些较大的功能,而且我的代码中有很大一部分 - 或者可能是代码的几个重要部分 - 整个车库地板都是碎片,完全不适合签入,甚至可能不编译.
  2. 一个紧急的错误修正请求进来.修复很好,本地,并没有触及我一直在努力的任何代码.
  3. 我在我的工作副本中修复了.

怎么办?

我看过" Mercurial cherry pick for commit for commit "和" mercurial中的最佳实践:分支与克隆,以及部分合并? ",所有建议似乎都是不同复杂程度的扩展,从Record和Shelve到Queues.

事实上,显然没有任何核心功能,这让我怀疑在某种意义上这种工作方式是做错了.这个用例的类似Mercurial的解决方案是什么样的?


编辑补充: git的,相比之下,似乎专为这个工作流程:git add修正错误的文件,没有git add任何东西(或者git reset HEAD你可能已经添加任何东西), git commit.

mercurial dvcs

12
推荐指数
2
解决办法
3240
查看次数

"backport"的工作流程变为不同的Mercurial(Hg)分支?

我们有两个脑袋.一个是我们的主要开发负责人,另一个是我忘记了直到今天.我们发现了一个错误并将其修复到我们的主要开发分支中,我刚刚意识到它应该在旧分支中修复.

我认为最好在旧分支上进行更改并将其与最新分支合并,但我们并没有这样做.mercurial可以处理这个吗?我们还没有尝试过这样的事情,我无法真正理解它将如何完成.

version-control mercurial branch cherry-pick

11
推荐指数
1
解决办法
2205
查看次数

如何查看Tortoise HG发布的Mercurial命令?

我有办法看看Tortoise HG发布的Mercurial命令是什么?例如,如果我在Tortoise中使用Shelve命令,我想看看它是如何(以及如果)在引擎盖下调用'hg shelve'.

mercurial tortoisehg

8
推荐指数
1
解决办法
1140
查看次数

版本控制:围绕功能开发移动bug修复/代码增强

我有一个与Mercurial相关的工作流程问题(可能适用于其他DVCS).

使用典型的默认/稳定设置设置repo.

您的任务是构建一个新功能,并期望它需要一些时间(月+).在处理此功能时,您会遇到一个错误,您认为应该修复并尽快应用于生产.或者,您可能会注意到一些可以更好地记录的代码.

我的假设是您在默认情况下进行修复,然后切换到稳定并再次进行修复(手动或应用补丁).这是正确的还是应该立即切换到稳定,在那里进行更改然后将stable合并为默认值?

使用补丁似乎对我更有意义.您可以专门针对错误修复进行提交,并在方便时应用该修补程序.我的意思是如果虫子不是太讨厌,就没有必要紧迫和打破你的流量.对?

那么,你如何处理这种情况呢?

谢谢

version-control workflow mercurial dvcs

6
推荐指数
1
解决办法
273
查看次数

是否有一个相当于`git stash save -p`的hg可以将块拆分成更小的块?

我只想对我的文件进行一些修改,而我首选的方法是搁置/隐藏我不想提交的更改.这允许我在实际提交之前测试我将提交的更改.

我遇到的问题是,当我在tortoisehg中使用"搁置"工具时,我找不到任何方法将一个块拆分成两个较小的块.例如,我有一个看起来像这样的块:

@@ -1,1 +1,2 @@
-hallo world
+hello world
+something else
Run Code Online (Sandbox Code Playgroud)

我想搁置"别的东西",这样我就可以提交"hallo-> hello"修复.然而,由于tortoisehg看到这个单块,我可以搁置两个或没有任何变化.

我也试过通过命令行使用shelve扩展,但是根据我从文档中理解它不提供仅仅搁置部分文件的功能.

mercurial tortoisehg

4
推荐指数
1
解决办法
454
查看次数