我需要将mercurial项目转换为git项目,但我想保持提交历史完整。我目前的解决方案是删除hg相关文件,然后git init &&手动添加我需要的文件,但这不会保留历史。有什么解决办法吗?

我有一个很少有分支和悬空提交的Git存储库。我想在存储库中搜索一个特定字符串的所有这样的提交。

我知道如何获得历史中所有提交的日志,但这些不包括分支或悬垂的blobs,只包括HEAD的历史。我想把它们都找回来,找到一个被放错地方的特定提交。

我还想知道如何在Mercurial做到这一点,因为我正在考虑切换。

我希望mercurial从存储库的当前状态中删除几个文件。但是,我希望这些文件存在于以前的历史记录中。

忘记和删除有什么不同,它们能做我想做的事吗?

我目前正在使用TortoiseHg (Mercurial),不小心提交了一个错误的提交消息。如何在存储库中编辑这条提交消息?

在克隆mercurial存储库时,在窗口中出现蓝屏。

重启后,我现在得到这条消息几乎所有的hg命令:

c:\src\>hg commit
waiting for lock on repository c:\src\McVrsServer held by '\x00\x00\x00\x00\x00\
x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
interrupted!

谷歌没有帮助。

任何建议吗?

我在一些地方听说过,分布式版本控制系统发光的主要原因之一,是比传统工具(如SVN)更好的合并。 这实际上是由于两个系统工作方式的内在差异,还是特定的DVCS实现(如Git/Mercurial)具有比SVN更聪明的合并算法?

一段时间以来,我一直在我的个人项目中使用subversion。

我听到越来越多关于Git、Mercurial和DVCS的好消息。

我想尝试一下DVCS,但我对这两种选择都不太熟悉。

Mercurial和Git之间有什么区别?

注意:我并不是要找出哪一个是“最好的”,或者我应该从哪一个开始。我主要寻找它们相似和不同的关键领域,因为我想知道它们在实现和理念方面有何不同。

我已经在Windows上使用git有一段时间了(使用msysGit),我喜欢分布式源代码控制的想法。就在最近,我一直在关注Mercurial (hg),它看起来很有趣。然而,我无法理解hg和git之间的区别。

有人把git和hg放在一起比较吗?我很想知道hg和git有什么不同,而不需要加入粉丝的讨论。