当我使用git config --global <some option> <some value>
时,Git会在我的~/.gitconfig
中写下相关条目,并通过一个标签缩进。由于my ~/.gitconfig
是版本控制的,我希望它不会变得一团糟,然后我必须手动进入并用空格替换选项卡。
在向~/.gitconfig
添加条目时,是否可以告诉Git自动使用空格?
(请注意,这是不关于我使用Git 提交的代码中的缩进,而是Git自己的配置文件中的缩进。)< / p>
答案 0 :(得分:4)
这对我有用(请注意,正如@rasjani在评论中指出的那样,阻止 git在使用{{1}时首先插入标签时没有选项}。)
创建git config
,以便在为文件执行filter
后自动将标签转换为空格。此过滤器由
git add
git config --global filter.spacify.clean 'expand --tabs=4 --initial'
命令表示expand
因此,过滤器的定义既包括它,也包括 时它(即git操作)。
(在OSX上,您需要在安装coreutils之后使用convert each tab character at the beginning of line to 4 space characters
,方法是执行gexpand
)
当然,您需要确定上述配置的scope(brew install coreutils
,--system
或默认--global
)。
例如,对于repository,请使用以下内容创建--local
:
.git/info/attributes
这表示在将这些文件提交到存储库之前 .* filter=spacify
。
请注意,上述内容仅会影响添加到存储库的新文件。如果您希望对所有现有文件执行此操作,那么您可以手动运行apply the spacify filter to any files that match the pattern .*
或者可以获取git为我们这样做:
expand
对git config --global filter.spacify.smudge 'expand --tabs=4 --initial'
git checkout HEAD -- **
使用spacify
过滤器会将过滤器应用于要检出的文件。结帐后,您应该看到点文件的一系列更改,这些更改将前导标签转换为空格。重新提交这些,从此以后,smudge
和smudge
二人组将保持您的dotfiles免费标签!
以下是对您的回购的提款请求:https://github.com/raxod502/radian/pull/156