【问题标题】:Git/Bash in Windows changes tabwidthWindows 中的 Git/Bash 更改标签宽度
【发布时间】:2022-02-02 16:06:53
【问题描述】:

我在本地添加并提交了一个分支(在作为卷安装的 Docker 容器中并在 Windows 中本地)。
该文件包含宽度为 2 个空格的选项卡。 (他们在 neovim 和 Visual Studio Code 中有两个空格)
然后我将该分支推送到gitlab
gitlab 中,我添加到该文件的选项卡的宽度为 8 个空格。

我尝试在.gitconfig 中使用autocrlf 选项,但似乎没有效果。

我在Docker 容器内做了addcommit
但是由于身份验证问题,我不得不在gitbash 中执行git push

由于我仍然在我的本地文件和 Docker 容器中看到两个空格,因此它必须是来自 gitbashgit push 更改了制表符宽度。

【问题讨论】:

  • 我猜该文件包含的是一个文字制表符,并且您将本地配置设置为显示大小为 2 的选项卡,而在 gitlab 上它被配置为显示为 8。但是,Git 中有一些配置可以自动转换制表符/空格,也许你启用了其中一个?见stackoverflow.com/q/2316677/3216427
  • 请注意,docker 无关紧要,标签tabs 用于浏览器样式的标签,而不是\t 字符。标签 tabstop 是我能找到的唯一 SO 标签。 Git 本身不做标签扩展:这取决于你的显示设备。 GitLab,由于它在生成 HTML 时充当显示设备,因此必须进行选项卡扩展。

标签: git tabstop


【解决方案1】:

joanis 的回答是正确的,并引导我找到解决方案。

我通过将set expandtab 添加到我的.vimrc 解决了这个问题,这会将制表符转换为您使用set tabstopset shiftwidth 设置的空格数。
所以我可以在 vim 中进行操作,它实际上会产生两个空格而不是真正的制表符。
如果我不使用set expandtab,该选项卡只有 2 个空格宽,但它仍然是一个选项卡,并且在 gitlab 中的行为不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    相关资源
    最近更新 更多