有没有办法给git add --interactive模式着色?

rryofs0p  于 2023-06-28  发布在  Git
关注(0)|答案(4)|浏览(111)

我经常使用git add --patch,我正在寻找一种方法来使其输出着色(如git diff --color)。
有什么东西在那里,或者我应该尝试写一个 Package ?

6gpjuf90

6gpjuf901#

在您的.gitconfig中:

[color]
    interactive = true

我不确定 * 确切 * 这将如何得到彩色,但这是内置的选项。

xxhby3vn

xxhby3vn2#

您可以通过Perl或类似的方法运行它,并注入colour codes

m4pnthwp

m4pnthwp3#

将'ui = true'添加到配置文件的问题是它会影响其他命令。例如,如果使用'git diff file.c > patch”保存补丁文件,那么生成颜色的转义码可能会出现在输出文件中。
其他选项是在命令行中执行此操作:

git -c color.ui=true add -p foo.c

或者,在.git/config文件中创建一个别名:

[alias]
  addp  = -c color.ui=true add -p
  addi  = -c color.ui=true add -i
hgqdbh6s

hgqdbh6s4#

在Git 2.42(2023年第三季度)之前,重新实现的“git add -i”(man)不支持color.ui配置。
参见commit 6f74648(2023年6月7日)和Derrick Stolee ( derrickstolee )commit 7cf3b49(2023年6月6日)。
(由Junio C Hamano -- gitster --合并于commit 644591b,2023年6月22日)

add:检查color.ui以进行交互式添加

报告人:格雷格· Alexandria
签字人:德里克·斯托利
当'git add -i'(man)和' git add -p'(man)被转换为内置时,它们引入了一个颜色错误:这'color.ui'配置设置被忽略.
包含的测试演示了一个与上一个测试类似的示例,该示例侧重于自定义颜色。
在这里,我们通过比较原始输出和该输出的颜色解码版本来证明颜色根本没有被使用。
修复方法很简单,使用git_color_default_config()作为git_add_config()的后备。
一个更健壮的改变是将git_use_color_default全局变量封装在方法中,如果配置设置还没有初始化,这些方法将检查配置设置。
一些想法正在讨论on this front,但没有最终确定。
这个测试用例自然地分为0527ccb(“add -i:default to the built-in implementation ",2021 - 11 - 30,Git v2.37.0-rc0--merge listed in batch #5),但修复程序明确指出,即使我们在此之前添加了使用内置实现的配置,这也会被破坏。

相关问题