2011-09-05 137 views
87

我大概可以设置一个别名,但好像我应该可以将它设置为配置文件中的一个选项,只是我还是看不到去做吧。如何让git diff --ignore-space-change默认

我只是想要--ignore-space-change当我做差异,而不是当我做的应用或其他任何事情。我试图通过使用外部的+/-线对它们没有真正的改变来混淆它,从而使差异更容易理解。

+1

护理改变正确的答案? :) – igorsantos07

回答

23

根据Git Config手册,没有这样的选项。你唯一的选择是做一个别名。

http://git-scm.com/docs/git-config

+0

我一直在想,从阅读该页面。我希望有人知道一种方式,没有记录....哦,好吧。 – boatcoder

+0

@Dogbert - 我有同样的问题,只有当我执行git add -p ,有什么建议吗? –

78

如果您使用的是shell可用操作系统,则可以使用git别名bash别名

  1. git的别名:运行此命令添加别名:git dfw

  2. 庆典别名

    git config --global alias.dfw 'diff --ignore-space-change'

    --ignore-space-change can be abbreviated to -w
    使用应用别名运行此命令添加bash别名:

    echo "alias gitdfw='git diff --ignore-space-change'">>~/.profile

    打开一个新的终端,你可以直接运行gitdfw来实现相同的。

+5

这应该是被接受的答案,因为它实际上对示例非常有用,而不是“转到此URL”。 – DrStrangepork

+1

根据[当前git文档](https://git-scm.com/docs/git-diff),'-b'与'--ignore-space-change'相同。它与Linux'diff'命令一致,其中'-w'表示'--ignore-all-space'。这是一个重要的区别,因为,例如,使用'-w'选项将文本'a b c'视为'abc';在代码中,这不太可能是你想要的,所以'-b'是一个更好的选择。 –

6

编辑:我是一个傻瓜没有看过您的要求THROUGHLY

实现类似的东西,从man git-config道:

apply.whitespace 
     Tells git apply how to handle whitespaces, in the same way 
     as the --whitespace option. See git-apply(1). 

所以打开你的~/.gitconfig./.git/config/和追加

[apply] 
    whitespace = nowarn 

它可能也不会让你合作mmit的东西,只改变空白,但我相信你可以用一些标志否决。

+0

OP正在寻找一种方法来设置'git diff'时的默认值。这适用于'apply'。 – denishaskin

+2

-1,但有用... –

2

如果这可能与一个选项,它将是很好的。但是一个别名工作得很好。这里是我的相关行。gitconfig:

[diff] 
    tool = mydiff 
[difftool "mydiff"] 
    cmd = "colordiff -NuBbwi \"$LOCAL\" \"$REMOTE\" | less -R" 
[difftool] 
    prompt = false 
[alias] 
    dt = difftool 

这个假设使用colordiff,我建议,给你的是什么git的差异会显示一个几乎一模一样的副本,有两点不同:

  1. 的 - 线在colordiff的颜色不同于git diff中的同一行(非常小的问题)
  2. 每个文件一次显示一个(讨厌的问题 - 任何人都知道修复?)

,这里是我的/ etc/colordiffrc:

plain=off 
newtext=green 
oldtext=red 
diffstuff=cyan 
cvsstuff=red 

的Mac OS X 10.9.2,Git版本1.8.5.2(苹果的Git-48)

(从BREW获得colordiff)