gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:55:44 25 4
gpt4 key购买 nike

当我使用 git config --global <some option> <some value> 时,Git会在我的~/.gitconfig中写入相关条目, 缩进一个制表符。自 my ~/.gitconfig 是版本控制的,我希望它不会一团糟,然后我必须手动进入并将制表符替换为空格。

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

(请注意,这不是我用 Git 提交的代码中的缩进,而是 Git 自己的配置文件中的缩进。)

最佳答案

这对我有用(请注意,正如@rasjani 在评论中指出的那样,没有选项可以阻止 git 在使用 git 时首先插入一个选项卡配置.)


创建过滤器

创建一个过滤器,以便在您对文件执行git add 操作时自动将制表符转换为空格。此过滤器由

创建
git config --global filter.spacify.clean 'expand --tabs=4 --initial'

expand 命令表示将行首的每个制表符转换为 4 个空格字符

因此,过滤器的定义包括它做什么何时它做什么(即针对哪个 git 操作)。

(在 OSX 上,您需要使用 gexpand通过执行 brew install coreutils 安装 coreutils 之后)

当然,您需要决定 scope (--system, --global or default --local) 以上配置。


指定将应用过滤器的文件/路径模式

例如,对于您的 repository ,创建一个包含以下内容的 .git/info/attributes:

.* filter=spacify

这表示在将这些文件提交到存储库之前,将 spacify 过滤器应用于与模式匹配的所有文件。*


请注意,以上只会影响添加到存储库的新文件。如果您希望对所有现有文件执行此操作,那么您可以手动运行 expand 或者,可以让 git 像这样为我们执行此操作:

git config --global filter.spacify.smudge 'expand --tabs=4 --initial'
git checkout HEAD -- **

smudge 使用spacify 过滤器将导致过滤器应用于正在 check out 的文件。 checkout 后,您应该会看到对点文件的一系列更改,这些文件的前导制表符已转换为空格。重新提交这些,从今以后,smudgeclean 二人组将保持您的点文件无制表符!


更新—— pull 请求!

这是您的 repo 的 pull 请求:https://github.com/raxod502/radian/pull/156

关于git - 可以告诉 git 在 ~/.gitconfig 中使用空格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40091541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com