hg相当于git add -p?

and*_*ner 45 git mercurial git-add

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

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

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

bjl*_*aub 36

看一下记录扩展(与Mercurial捆绑在一起).

请注意,由于Mercurial没有像git这样的临时区域的概念,因此运行hg record只会让您通过hunk检查工作副本中的修改.您选择记录的任何更改都将被提交,您选择记录的任何更改都将保留为工作副本中的修改.

  • 这个答案现在不再相关了,使用“hg commit --interactive” (3认同)

Pau*_*l S 21

记录扩展是这个标准的工具.它允许您选择包含或不包含在提交中.一旦你在hgrc中启用了扩展,命令就是

hg record
Run Code Online (Sandbox Code Playgroud)

CRecord扩展让你在此之上一个TUI(文本用户界面),它可以让你深入到你要包括的线路.这不是标准的,因此需要先下载到目录,然后才能在hgrc中启用它.

hg crecord
Run Code Online (Sandbox Code Playgroud)

编辑:

  1. 不再需要Record扩展名.现在各种命令支持-i--interactive标记.例如:

    hg commit -i
    
    Run Code Online (Sandbox Code Playgroud)

    ...会问你想要包括什么的大块头.

  2. CRecord以3.8为核心功能.将以下内容添加到您的 .hgrc

    [ui]
    interface = curses
    
    Run Code Online (Sandbox Code Playgroud)

    现在,--interactive命令将显示与旧CRecord扩展相同的界面.


Rob*_*mer 13

从Mercurial 3.8.1开始,内置了crecord扩展.确保.hgrc包含中的"ui"部分interface = curses,或者您得到一个令人不舒服的问答界面.

[ui]
interface = curses
Run Code Online (Sandbox Code Playgroud)

然后以交互方式进行提交,以询问您希望在该提交中包含哪个行或哪行.

hg commit --interactive
Run Code Online (Sandbox Code Playgroud)


Tim*_*gan 8

如果您使用TortoiseHg,它具有一项Shelve功能,允许您存储您不想提交到临时区域的更改.它允许大块选择,就像git一样.

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

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

在此输入图像描述

  • 搁置方法的优点是您可以在提交之前测试您的更改. (4认同)