如何解决将主分支合并到功能分支 - 在多行中找到 TAB 致命
开发人员会将他们正在处理的功能分支与项目主分支同步(如果我正确理解 git 措辞,则主分支作为功能分支上游分支)。
开发者通过将主分支合并到功能分支来进行同步。
正在合并的主分支包括(自合并基础提交以来)对大量文件的修改(这可能与此处无关)。
合并导致以下错误“致命:在以下行中发现了 TAB:”在源代码行之后最多 20 行。如果要验证代码查看器/编辑器中列出的代码行,这些代码行确实由制表符字符缩进。在极少数情况下,行以哈希字符开头,然后是基于制表符的缩进。
对于合并错误消息中的每个文件,所有未出现错误的代码行都以空格缩进 >> 文件默认缩进:空格序列。
TAB 发现错误阻止合并完成。无法完成合并。
问:我想知道这些 TAB 缩进的代码行是如何设法出现在主分支上的,但是它们阻止了主分支合并到开发人员的功能分支。可能是一些常见的 git 功能。而是本地配置问题(repo、git、..)?
到目前为止,开发人员实际上并没有对主分支做出贡献,无论是直接提交还是通过分支合并,除了一个旧的功能分支合并,但没有修改 TAB 中的文件发现错误消息。这些是迄今为止对主分支做出贡献的其他项目贡献者。所有开发人员都在私人克隆中工作。与主分支的集成发生在常见的 GitLab 项目中。
这里的功能分支有多个提交,但已经推送到远程(提到 GitLab 项目)。
更新 如果开发人员在 git 配置的所有区域中搜索 'indent' 或 'tab',则搜索结果为零匹配。还为整个错误字符串或子字符串零匹配结果 grepping .git/hooks。
更新 2:找到可能相关的配置条目:
$ git config -l --show-origin
file:/home/xxx/.gitconfig init.templatedir=bla bla
...
file:.git/config core.repositoryformatversion=0
file:.git/config core.filemode=true
...
file:.git/config core.whitespace=cr-at-eol
...
file:.git/config pull.rebase=true
file:.git/config merge.ff=false
...
更新 3:如果将 git config 修改为以下内容,合并也会失败
file:.git/config core.whitespace=-tab-in-indent,cr-at-eol
但是,我不确定 git 是否也在合并和提交时检查变量 core.whitespace
。
实际上似乎是合并提交步骤,但以所示方式失败。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。