我想知道是否有人在发生冲突时为合并或变换的输出着色.我想特别为带有文件名的行着色,例如第二行:
Auto-merging CMakeLists.txt
CONFLICT (content): Merge conflict in CMakeLists.txt
Failed to merge in the changes.
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑:
使用git别名和bash函数我可以这样写:
color-merge = "!f() { git merge --no-commit --stat $1| egrep --color 'CONFLICT .*|$'; }; f"
Run Code Online (Sandbox Code Playgroud)
这将为所有冲突线着色,但是:
所以我正在寻找更强大的东西.
干杯
另一种选择可能是创建一个git别名.这对我来说比较好,因为它会将git特定的自定义保存在一起,而不是在.profile某个地方的不相关文件中浮动.
将这样的内容添加到您~/.gitconfig或本地git项目中.git/config也应该有效:
[alias]
color-merge = "!f() { git merge $@ | egrep --color 'CONFLICT .*|$' ; }; f"
Run Code Online (Sandbox Code Playgroud)
像这样调用它: git color-merge branch --option1
请注意,shell的GREP_COLOR环境变量将控制使用的颜色.
[color]
branch = auto
diff = auto
status = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
added = yellow
changed = green
untracked = cyan
http://jblevins.org/log/git-colors
Run Code Online (Sandbox Code Playgroud)
所以恐怕合并冲突没有颜色。