Git:在使用git add -i或git add -e时显示更多上下文?


99

我有选择地提交一个大文件的一部分,我希望看到每个大块周围的更多上下文。这可能吗?

Answers:


127

简短的回答:不。

git diff-U<n>选项可让您自定义要在更改周围显示的行数。例如,git diff -U5 ...将显示5条上下文。据我所知,在交互模式下的差异显示中没有这样的选项。


7
是否-U<infinity>可以显示整个文件?(或者是大量的“足够好”?)
titaniumdecoy

2
我想提一下,在git diff -U<n>每条更改的行的两侧都使用了数字。因此,如果更改了一行,git diff -U5则将显示11行(假设该行不在文件末尾。)
ArtOfWarfare 2013年

4
这是git diff为非git add --patchgit add --interactive
0xcaff 2014年

1
@titaniumdecoy,我张贴作为一个单独的问题stackoverflow.com/questions/28727424/...
亚历山大Levchuk

3
还是没有解决办法?
维塔利·兹达涅维奇

2

确认一下,这在2019年仍然不可能。

外部工具jjlee/git-meld-index可以帮助您:

git-meld-index运行meld-或任何其他git difftool(kdiff3diffuse等)-允许您交互式地将更改暂存到git索引(也称为git暂存区)。

这是类似的功能git add -p,和git add --interactive

在某些情况下git add -p,与诸如git gui
这是因为,例如,meld允许您执行以下操作:

  • 看到更多的情况下
  • 查看行内差异
  • 手动编辑并查看“实时”差异更新(每次按键后更新)
  • 导航到更改,而无需n对要跳过的每个更改说“ ”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.