【PHP】macos 系统 git pull 时 报错File name too long问题

问题背景

在某项目中,执行git pull时,报错:error: unable to create symlink vendor/bin/jp.php: File name too long。

系统环境是 macos 10.15.7,起因是同事php composer安装了alibabacloud引起的问题。

由于我们的vendor目录是放在git版本控制之中,就导致了此问题的产生。

处理过程

此时console显示:⇣30 ?18 【 此描述是服务器上有30个文件更新,本地有18个文件未加入版本控制】

然后执行:git pull,报下述错误:

The following untracked working tree files would be overwritten by merge

然后执行:git clean -fd 删除所有未跟踪文件(含目录)|| git clean -f ‌仅删除文件(保留目录)

此时console显示: ⇣30 【 此描述是服务器上有30个文件更新】

接着执行:git pull

此时console显示: ⇣30 !199 ?18 【此描述是服务器上有30个文件更新,本地有199个文件变更,本地有18个文件未加入版本控制】

接着,我手动回滚了一下本地文件,将本地199个文件变更恢复。

此时console显示: ⇣30 ?18

然后执行:git clean -fd 删除所有未跟踪文件(含目录)

此时console显示: ⇣30

最后执行:git config --local core.symlinks false 本项目禁用符号链接

然后再次执行:git pull

问题解决。

相关推荐
A_Lonely_Cat9 小时前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
fthux1 天前
如果你用 Mac,那你可能需要 Noti Shift
macos·开源·github
和你看星星2 天前
Git rerere:让重复冲突只解决一次
git
counterxing4 天前
最近发现一个 Mac 工具,有点像把 Raycast、语音输入法、截图和录屏塞到了一起
macos·ai编程·claude
嘻嘻仙人6 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson6 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友6 天前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
深海鱼在掘金7 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森7 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang7 天前
Git 必备命令指南:从日常高频到项目开发实战
git