error: unable to write sha1 filename 问题的解决办法

本文探讨了两种常见的Git推送错误原因及解决方案,包括切换连接模式从HTTPS至SSH,以及解决因本地存在多个快照导致的操作权限错误。同时介绍了如何在IDEA中设置.gitignore,有效排除不想提交的文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

会出现 这种问题 我所知道的 可能有两种错误
一是你 需要切换 git的连接模式 从https 转换为 ssh
这个在 .git 文件夹中的 config中 就可以切换
而第二个 原因就比较复杂了


首先你在网上clone了一个仓库然后进行自己的编码 然后 你想测试 其他人push的代码 但是 不想pull到你自己的项目中 害怕合并失败 新建了一个新的文件 重新clone了一个项目在里面 然后 对这个新clone的 项目进行了一系列的 git项目 比如commit
这个时候 你回到 最开始 clone的项目 进行git 操作 push的时候 就会报这个错误


我感觉 这是因为git客户端扫描到你本地拥有同一个文件的2个快照 导致操作权限错误导致的
这个情况除了自己作死 触发的概率不大
另外说一个题外话 就是 git在使用的时候 想要 抛出 不想提交的文件夹 用gitigone 这应该就是最好的方法了


在idea中的用法如下
首先打开一个 git项目 然后点击setting 选择下面的 Editor 下的 FileTypes 选项
在最下面的 Ignore files and folders 添加 你想忽视的目录和文件
添加   ;.idea;.iml;.target; 然后apply 然后ok
等进度条完事 就可以发现 看不到 你想忽视的文件了
然后 在plugins 中下载 git忽视文件的插件
.ignore 下载后重新启动idea
重启之后 右键你的项目 选择new 会发现 一种新的类型的文件 ignore files
然后选择其中的.gitignore 文件 
然后选中第一条 点击底下的提交
就会发现你的项目中 新加了一个.gitignore 文件
然后 你就可以正常的提交你的项目
提交的目录不在有idea 和 target 的文件
如果还继续有target文件选项的话 你需要用git命令行进行操作
运行命令git rm -r --cached target 
然后 清空本地仓库中的target文件 
然后push

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值