汞等效的git add -p?
有没有相当于git add -p
的水银?
从人引用,使用选项-p(或–patch)的git-add将执行以下操作:
在索引和工作树之间交互select补丁块,并将其添加到索引。 这使用户有机会在将修改内容添加到索引之前查看差异。
看一下logging扩展 (与Mercurial捆绑在一起)。
请注意,由于Mercurial没有git这样的暂存区域的概念,运行hg record
只会让您检查工作副本中的修改。 您selectlogging的任何更改都将被提交,并且您select不logging的任何更改仅作为修改留在您的工作副本中。
Record Extention是这方面的标准工具。 它允许你select包含或不包含提交的区块。 一旦你在你的hgrc中启用了扩展,命令就是了
hg record
CRecord Extension为您提供了一个TUI(文本用户界面),允许您下载到要包含的行。 这不是标准的,所以它需要下载到一个目录,然后才能在你的hgrc中启用它。
hg crecord
编辑:
-
logging扩展不再是必要的。 现在各种命令都支持
-i
或—interactive
标志。 例如:hg commit -i
…会问你想要包括什么。
-
CRecord将其作为核心function3.8。 将以下内容添加到
.hgrc
[ui] interface = curses
现在,
—interactive
命令将带来与旧的CRecord扩展相同的接口。
如果您使用的是TortoiseHg,它具有Shelve
function,允许您将不想提交到临时区域的更改存储在该文件Shelve
。 它允许select大块,就像git。
在TortoiseHg Workbench中,可以通过两种方式访问此工具:
- 点击
Repository -> Shelve
- 在
Commit
窗口中,select搁置工具图标。 它看起来像这样:
从Mercurial 3.8.1开始,crecord扩展是内置的。 确保.hgrc
中的“ui”部分包含interface = curses
,否则您会遇到不舒服的问题和答案界面。
[ui] interface = curses
然后交互式地提交你的提交,询问你想在哪个提交中包含哪个hunk-or-line。
hg commit --interactive