可以告诉git在〜/ .gitconfig中使用空格吗?

时间:2016-10-17 16:40:00

标签: git indentation spaces

当我使用git config --global <some option> <some value>时,Git会在我的~/.gitconfig中写下相关条目,并通过一个标签缩进。由于my ~/.gitconfig是版本控制的,我希望它不会变得一团糟,然后我必须手动进入并用空格替换选项卡。

在向~/.gitconfig添加条目时,是否可以告诉Git自动使用空格?

(请注意,这是关于我使用Git 提交的代码中的缩进,而是Git自己的配置文件中的缩进。)< / p>

1 个答案:

答案 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

当然,您需要确定上述配置的scopebrew 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过滤器会将过滤器应用于要检出的文件。结帐后,您应该看到点文件的一系列更改,这些更改将前导标签转换为空格。重新提交这些,从此以后,smudgesmudge二人组将保持您的dotfiles免费标签!

更新 - 拉取请求!

以下是对您的回购的提款请求:https://github.com/raxod502/radian/pull/156