汞等效的git add -p?

有没有相当于git add -p的水银?

从人引用,使用选项-p(或–patch)的git-add将执行以下操作:

在索引和工作树之间交互select补丁块,并将其添加到索引。 这使用户有机会在将修改内容添加到索引之前查看差异。

看一下logging扩展 (与Mercurial捆绑在一起)。

请注意,由于Mercurial没有git这样的暂存区域的概念,运行hg record只会让您检查工作副本中的修改。 您selectlogging的任何更改都将被提交,并且您selectlogging的任何更改仅作为修改留在您的工作副本中。

Record Extention是这方面的标准工具。 它允许你select包含或不包含提交的区块。 一旦你在你的hgrc中启用了扩展,命令就是了

 hg record 

CRecord Extension为您提供了一个TUI(文本用户界面),允许您下载到要包含的行。 这不是标准的,所以它需要下载到一个目录,然后才能在你的hgrc中启用它。

 hg crecord 

编辑:

  1. logging扩展不再是必要的。 现在各种命令都支持-i—interactive标志。 例如:

     hg commit -i 

    …会问你想要包括什么。

  2. CRecord将其作为核心function3.8。 将以下内容添加到.hgrc

     [ui] interface = curses 

    现在, —interactive命令将带来与旧的CRecord扩展相同的接口。

如果您使用的是TortoiseHg,它具有Shelvefunction,允许您将不想提交到临时区域的更改存储在该文件Shelve 。 它允许select大块,就像git。

在TortoiseHg Workbench中,可以通过两种方式访问​​此工具:

  1. 点击Repository -> Shelve
  2. Commit窗口中,select搁置工具图标。 它看起来像这样:

在这里输入图像说明

从Mercurial 3.8.1开始,crecord扩展是内置的。 确保.hgrc中的“ui”部分包含interface = curses ,否则您会遇到不舒服的问题和答案界面。

 [ui] interface = curses 

然后交互式地提交你的提交,询问你想在哪个提交中包含哪个hunk-or-line。

 hg commit --interactive