Rad*_*ugh 12 git spaces indentation
当我使用时git config --global <some option> <some value>,Git会在我的相关条目中写入~/.gitconfig,缩进一个标签.由于我~/.gitconfig是版本控制的,我希望它不会一团糟,然后我必须手动进入并用空格替换选项卡.
添加条目时,Git可以被告知自动使用空格~/.gitconfig吗?
(请注意,这不是我在Git中提交的代码中的缩进,而是Git自己的配置文件中的缩进.)
这对我有用(请注意,正如@rasjani在评论中指出的那样,在使用时,没有任何选项可以防止 git首先插入选项卡git config。)
创建一个文件后filter,便会自动将制表符自动转换为空格git add。此过滤器是由创建的
git config --global filter.spacify.clean 'expand --tabs=4 --initial'
Run Code Online (Sandbox Code Playgroud)
该expand命令说,convert each tab character at the beginning of line to 4 space characters
因此,过滤器的定义既包括什么它和用于当它确实它(即,对于该GIT中操作)。
(在OSX上,您需要gexpand 在安装coreutils 之后使用来使用brew install coreutils)
当然,你需要决定的范围(--system,--global或默认--local以上配置的)。
例如,对于您的存储库,创建.git/info/attributes具有以下内容的:
.* filter=spacify
Run Code Online (Sandbox Code Playgroud)
这表示apply the spacify filter to any files that match the pattern .*在将这些文件提交到存储库之前。
请注意,以上内容只会影响将新文件添加到存储库中。如果您希望对所有现有文件执行此expand操作,则可以手动运行,也可以让git为我们完成此操作,如下所示:
git config --global filter.spacify.smudge 'expand --tabs=4 --initial'
git checkout HEAD -- **
Run Code Online (Sandbox Code Playgroud)
对使用spacify筛选器smudge将导致该筛选器应用于被检出的文件。签出后,您应该看到对点文件进行了大量更改,这些文件的前导制表符已转换为空格。重新提交这些文件,从此以后,smudgeand clean二人组将使您的dotfile保持无标签状态!
这是您的回购请求请求:https : //github.com/raxod502/radian/pull/156