SD卡Git仓库偶现origin/master被重命名为origin/MASTER问题求助
解决Git仓库在SD卡中分支名大小写变化的问题
这种情况我之前跨系统用移动存储做Git仓库时也碰到过!核心原因是不同电脑的文件系统大小写敏感性不一致——比如Windows默认不区分文件名/分支名的大小写,而Linux、macOS是严格区分的,SD卡在这些系统间来回挂载,就容易触发Git把origin/master识别成origin/MASTER的问题。
先修复当前的推送失败问题
你可以按以下步骤快速解决:
- 先确认远程分支的状态,看看是不是真的变成了大写分支:
git branch -r - 方案一:直接让本地master分支关联到大写的远程分支,之后就能正常推送了:
git branch -u origin/MASTER master - 方案二:把远程分支改回小写的
master(更推荐,避免后续混淆):- 先删除远程的大写分支:
git push origin --delete MASTER - 再重新推送本地的master分支到远程:
git push origin master
- 先删除远程的大写分支:
预防后续再出现这个问题
为了避免以后切换电脑时再踩这个坑,建议做这两个设置:
- 给SD卡上的Git仓库强制开启大小写敏感:进入SD卡的仓库根目录,执行这条命令:
这样Git就会严格区分分支名的大小写,不会再自动转换了。git config core.ignorecase false - 平时操作分支时尽量统一用小写命名,不要手动创建大小写不同的分支,从源头避免混淆。
另外小提醒:以后推送代码前,最好先执行git fetch同步下远程分支状态,提前发现分支名的变化,避免推送失败~
内容的提问来源于stack exchange,提问作者Arthur Bouvier
相关产品推荐
相关产品推荐

