git 2.18 win64,检出分支时出现奇怪的错误,仅在我的电脑上

时间:2018-08-15 21:26:17

标签: git

这是一个奇怪的错误,我将粘贴步骤,以便您可以更好地理解:

PS C:\Users\user\Proyectos\GRV\Repos> git clone https://user@bitbucket.xxx.com/scm/in004/site-code.git in004_code

Cloning into 'in004_code'...
remote: Counting objects: 4034, done.
remote: Compressing objects: 100% (3565/3565), done.
remote: Total 4034 (delta 366), reused 4010 (delta 358)
Receiving objects: 100% (4034/4034), 10.11 MiB | 280.00 KiB/s, done.
Resolving deltas: 100% (366/366), done.
Checking out files: 100% (3577/3577), done.
PS C:\Users\user\Proyectos\GRV\Repos> cd .\in004_code\
PS C:\Users\user\Proyectos\GRV\Repos\in004_code> git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
PS C:\Users\user\Proyectos\GRV\Repos\in004_code> cat .\.gitmodules
[submodule "sites/default/files"]
        path = sites/default/files
        url = ../site-files.git
[submodule "profiles/hub"]
        path = profiles/hub
        url = ../../hub/hub-profile.git
        branch = 0.x
PS C:\Users\user\Proyectos\GRV\Repos\in004_code> git checkout int
fatal: bad config line 7 in file C:/Users/user/Proyectos/GRV/Repos/in004_code/.gitmodules
PS C:\Users\user\Proyectos\GRV\Repos\in004_code> cat .\.gitmodules
[submodule "sites/default/files"]
        path = sites/default/files
        url = ../site-files.git
[submodule "profiles/hub"]
        path = profiles/hub
        url = ../../hub/hub-profile.git
<<<<<<< HEAD
        branch = 0.x
=======
>>>>>>> 5580772... Initial commit qa
PS C:\Users\user\Proyectos\GRV\Repos\in004_code>

但是在我测试相同步骤的centos服务器中,同事都不会发生这种情况。

有帮助吗?

1 个答案:

答案 0 :(得分:2)

次要编辑/更新:看起来该错误的特定控制设置默认为recurse.submodules,这是Git 2.14中引入的。早于2.14的Git版本将忽略任何recurse.submodules=true设置,而2.14及更高版本将遵循该设置。似乎还有一个错误,那就是git checkout --no-recurse-submodules没有在正确的时间清除标志。但是,git -c recurse.submodules=false checkout ...应该超越了那个范围。我认为失败本身(带有fatal: ...退出结帐的退出)也是一个错误,但这还不太清楚。


许多CentOS发行版附带的Git版本是古老的,无法检查错误情况。 (您没有说他们正在使用哪个CentOS,也没有显示他们的Git版本,但是例如,参见How to install latest version of git on CentOS 7.x/6.x或更新的Can't clone any repository using git。对软件更新持保守态度没有错,但是有保守,然后是CentOS ...)

您的实际存储库中有一个错误:.gitmodules文件应始终格式正确,但int分支提示中的文件格式却不正确。您的Git很现代,可以在运行git checkout int时立即发现问题。

他们的Git很古老,因此当您在此处检查int分支时,他们的Git会静默地忽略该问题。问题仍然存在,您只是没有受到投诉。该问题需要解决(通过修复.gitmodules文件并在int分支上进行新提交)。