我们有一个项目,其中文件包含不幸的长行,不可能缩短它们.如果我们也可以使用git checkout --patch这些文件,我们可以显着简化我们的工作流程.这不起作用,因为如果整个巨行中有任何变化,该行将被标记为已更改.
通常,我们使用检查这些更改git diff --word-diff.是否有可能以checkout --patch类似的格式进行工作?还有其他方法可以解决我们的问题吗?
我在代码库中递归替换了许多单字模式.在提交之前,我需要检查每个是否有错误的替换.这将帮助我很多有git add -p使用什么样的格式--word-diff与使用git diff,其中只有改变的话被标记,而不是整条生产线.
有人在这里问了同样的问题,但也许从那时起就实施了? https://groups.google.com/forum/#!topic/git-users/7uO2OUJGvP0
在git config --global interactive.diffFilter diff-highlight我之后.gitconfig:
# This is Git's per-user configuration file.
[user]
name = Vitaly Zdanevich
email = vitaly.zdanevich@xxx.com
[core]
excludesfile = /Users/vitaly/.gitignore_global
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge --skip -- %f
process = git-lfs filter-process --skip
required = true
[diff]
tool = vimdiff
context = 20
[difftool]
prompt = false
[interactive]
diffFilter = diff-highlight
Run Code Online (Sandbox Code Playgroud)
但是在git commit -p并且git add -p我看到默认情况下没有颜色的相同差异逐行terminal.app:
我也试过: …
git diff针对代码的输出进行了优化,该代码往往每行仅一个语句,而文本(如果像我这样的作者太懒了而无法使用换行符)会导致diff输出,这很难阅读,并且更多地是“ Wally在哪里?” 搜索比读取差异输出
而在GitLab或GitHub的Web前端上突出显示则立即显示出差异
我知道我正在比较HTML和纯文本(苹果和橘子),但是应该可以git diff通过使用不同的颜色或在更改周围添加标记字符来改善输出(JUnit []在插入周围使用,这对阅读,但我的意思是一个例子),这将是我第一次期望git中某些可用的东西实际上不是。
git ×5
git-diff ×4
ergonomics ×1
git-add ×1
git-config ×1
git-difftool ×1
git-patch ×1
highlight ×1
highlighting ×1
patch ×1
vim ×1