Win10 下 git error unable to create file Invalid argument 踩坑实录

原始解决方案参看:https://stackoverflow.com/questions/26097568/git-pull-error-unable-to-create-file-invalid-argument
本问题解决于 2024-02-18,使用 git 版本 2.28.0.windows.1

解决方案

看 Git 抛出的出错的具体信息,比如如下都来自同一个文件夹的情况:

git clone -v "https://github.com/somebody/some-repo.git" "X:\Project\GitHub\somebody\some-repo"

Cloning into 'X:\Projects\GitHub\somebody\some-repo'...
POST git-upload-pack (200 bytes)
remote: Counting objects: 1234, done.
remote: Compressing objects: 100% (456/456), done.
Receiving objects: 100% (1234/1234), 2.70 MiB | 567.00 KiB/s, done.
Resolving deltas: 100% (234/234), done.
remote: Total 1234 (delta 234), reused 0 (delta 0)
Checking connectivity... error: unable to create file repo-root/some-folder/_wrong_filename_1234?ref=users (Invalid argument)
error: unable to create file repo-root/some-folder/_wrong_filename_5678?ref=users (Invalid argument)
error: unable to create file repo-root/some-folder/_wrong_filename_1234?params=test (Invalid argument)
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status' and retry the checkout with 'git checkout -f HEAD'

git did not exit cleanly (exit code 128) (12345 ms @ 1970-01-23 12:34:56)

则在项目路径下,在 git-bash 或 cmd 命令行使用 git config core.sparsecheckout true稀疏检出模式开启

  • 若在 git-bash 下则继续输入如下命令,仅检出除指定目录下所有内容之外的内容:
echo * >> .git/info/sparse-checkout
echo !repo-root/some-folder/* >> .git/info/sparse-checkout
  • 若在 cmd 下则输入:
(ECHO * && ECHO !repo-root/some-folder/*) >> .\.git\info\sparse-checkout

然后就可以重新 git pull 了,这次应该不会报错了。

但是那些文件却也确实不会拉取了,请在编译或执行操作前确认好丢失文件的必要性哦。

多个不同位置的文件

主要看 Checking connectivity... error: unable to create file 后面跟的内容,有一个就加一行到 .git/info/sparse-checkout 文件里,然后重新拉取就好了。

原因

基本上就是 Windows 下 pull 到了别的操作系统(文件系统)下允许但 NTFS 不允许的文件命名格式,如文件名中带有英文 ? 等,此时 pull 或 merge 操作会被中断 Aborting。
那么解决思路是利用 Git 的稀疏检出规则,强行绕过这些可能出错的文件(我不拉了,我摆烂了)
等到那些系统上的提交者(或者你自己在自己的分支上)更新文件命名后再重新 clone 或者 pull(抑或者就此摆烂)

验证

验证稀疏检出是否成功开启,可以在 git-bash 里打开项目文件夹,发现后面会变成形如:

User@MACHINE_NAME MINGW64 ~/my-project (master|SPARSE)
$

的样式,就算成功开启了;
而后你需要打开文件夹选项,选择显示隐藏的项目,或者直接在地址栏的最后追加上\.git\info,检查一下info文件夹下是否有 sparse-checkout;
sparse-checkout文件是否出现
可以右键打开方式为记事本,检查内容是否是:

*
!repo-root/some-folder/*

第一行为通配符,表示任意文件;
第二行 ! 开头表示排除,* 表示通配符,即排除 repo-root/some-folder 路径下的所有文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/521645.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

星系炸弹(蓝桥杯真题填空题)

import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class BombExplosionDate { public static void main(String[] args) { // 定义贝塔炸弹的放置日期和定时天数 LocalDate placementDate LocalDate.of(2014, 11, 9); int daysToExplode 10…

【攻防世界】FlatScience

dirsearch 扫描发现四个文件 在login.php 中发现 输入 http://61.147.171.105:61912/login.php/?debug 发现源码 <?php if(isset($_POST[usr]) && isset($_POST[pw])){$user $_POST[usr];$pass $_POST[pw];$db new SQLite3(../fancy.db);$res $db->query(…

唯美首页纯静态html5引导页源码,格子化win8风格官方引导页面源码

唯美首页纯静态html5引导页源码&#xff0c;格子化win8风格官方引导页面源码&#xff0c;喜欢的朋友可以拿去使用 源码下载 唯美首页纯静态html5引导页源码

【Ubuntu20.04.6】VMWare Station 17安装Ubuntu20.04.6虚拟机系统

步骤1&#xff1a;下载Ubuntu20.04.6镜像ISO文件 Ubuntu20.04.6镜像ISO文件下载&#xff1a; https://mirrors.ustc.edu.cn/ubuntu-releases/20.04/ 步骤2&#xff1a;下载安装VMWare Station 17 下载和安装教程&#xff1a; https://blog.csdn.net/u012621175/article/deta…

C#使用Selenium驱动Chrome浏览器

1.Selenium库依赖安装 Selenium WebDriver是Selenium项目的一部分&#xff0c;用于模拟用户在Web应用程序中的交互操作。它支持多种浏览器&#xff0c;如Chrome、Firefox、IE等&#xff0c;且与各种编程语言&#xff08;如Java、Python、C#等&#xff09;兼容&#xff0c;具有…

JAVA八股--redis

JAVA八股--redis 如何保证Redis和数据库数据一致性redisson实现的分布式锁的主从一致性Redis脑裂现象及解决方案介绍I/O多路复用模型undo log 和 redo log&#xff08;没掌握MyISAM 和 InnoDB 有什么区别&#xff1f; 如何保证Redis和数据库数据一致性 关于异步通知中消息队列…

蓝桥杯-DS18B20温度传感器

一.管脚&芯片&寄存器 1.芯片 2.了解封装以及引脚的用法 3.相关寄存器 报警功能 二&#xff0c;如何使能DS18B20芯片 1.初始化芯片&比赛提供的驱动代码 比赛提供的底层驱动代码 /* # 单总线代码片段说明1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考…

Jupyterlab+内网云穿透傻瓜式教程

文章目录 Jupyterlab内网云穿透傻瓜式教程1、Miniforge安装2、Jupyter Lab安装3、Python语言服务器安装4、PowerShell 7安装5、更改jupyter lab配置6、内网穿透7、高级体验 Jupyterlab内网云穿透傻瓜式教程 1、Miniforge安装 如下图&#xff0c;以Windows安装为例&#xff0c…

记Kubernetes(k8s):访问 Prometheus UI界面:Warning: Error fetching server time

记Kubernetes&#xff08;k8s&#xff09;&#xff1a;访问 Prometheus UI界面:Warning: Error fetching server time 1、报错详情2、解决3、再次访问 PrometheusUI界面 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、报错详情 Warning:…

Rust 基础语法和数据类型

数据类型 Rust提供了一系列的基本数据类型&#xff0c;包括整型&#xff08;如i32、u32&#xff09;、浮点型&#xff08;如f32、f64&#xff09;、布尔类型&#xff08;bool&#xff09;和字符类型&#xff08;char&#xff09;。此外&#xff0c;Rust还提供了原生数组、元组…

什么是文档一体化?文档一体化有什么意义?

文档一体化是从文书和档案工作全局出发&#xff0c;实现从文件生成制发到归档管理的全过程控制。包括&#xff1a;文档实体生成一体化&#xff0c;文档管理一体化&#xff0c;文档信息利用一体化&#xff0c;文档规范一体化。 文档一体化的意义在于&#xff1a; 1、使档案收集完…

11-pyspark的RDD的变换与动作算子总结

目录 前言 变换算子动作算子 PySpark实战笔记系列第二篇 10-用PySpark建立第一个Spark RDD(PySpark实战笔记系列第一篇)11-pyspark的RDD的变换与动作算子总结(PySpark实战笔记系列第二篇)) 前言 一般来说&#xff0c;RDD包括两个操作算子&#xff1a; 变换&#xff08;Transf…

BUUCTF:BUU UPLOAD COURSE 1[WriteUP]

构造一句话PHP木马 <?php eval(system($_POST[shell])); ?> 利用eval函数解析$shell的值使得服务器执行system命令 eval函数是无法直接执行命令的&#xff0c;只能把字符串当作php代码解析 这里我们构造的木马是POST的方式上传&#xff0c;那就用MaxHacKBar来执行 …

【数据库】SQL简介

SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是一种用于管理关系型数据库管理系统&#xff08;RDBMS&#xff09;的标准化语言。它用于访问和操作数据库中的数据&#xff0c;执行各种任务&#xff0c;如插入、更新、删除和检索数据&#x…

215 基于matlab的快速跟踪算法

基于matlab的快速跟踪算法&#xff0c;提出一种简单又快速、 鲁棒性的算法&#xff0c;基于贝叶斯框架下&#xff0c;该模型 &#xff08;即图像强度和从目标位置&#xff09; 的低级功能及周边地区的统计相关性的时空关系。跟踪问题是通过计算信心地图&#xff0c;并将以最大限…

数据结构和算法:分治

分治算法 分治&#xff08;divide and conquer&#xff09;&#xff0c;全称分而治之&#xff0c;是一种非常重要且常见的算法策略。分治通常基于递归实现&#xff0c;包括“分”和“治”两个步骤。 1.分&#xff08;划分阶段&#xff09;&#xff1a;递归地将原问题分解为两个…

初学python记录:力扣1483. 树节点的第 K 个祖先

题目&#xff1a; 给你一棵树&#xff0c;树上有 n 个节点&#xff0c;按从 0 到 n-1 编号。树以父节点数组的形式给出&#xff0c;其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。 树节点的第 k 个祖先节点是从该节点到根节点路径上的第 k 个节点。 实现…

docker搭建EFK

目录 elasticsearch1.创建网络2.拉取镜像3.创建容器如果出现启动失败&#xff0c;提示目录挂载失败&#xff0c;可以考虑如下措施 开放防火墙端口4.验证安装成功重置es密码关闭https连接创建kibana用户创建新账户给账户授权 kibana1.创建容器2.验证安装成功3.es为kibana创建用户…

金融中的数学模型

平稳时间序列 时间序列的基本统计特性&#xff0c;如均值、方差和自相关等&#xff0c;在时间上不随时间的推移而发生显著的变化。 平稳时间序列通常具有以下特征&#xff1a; 均值不随时间变化&#xff1a;序列的均值在时间上保持恒定。方差不随时间变化&#xff1a;序列的…

元宇宙虚拟空间的场景渲染(五)

前言 该文章主要讲元宇宙虚拟空间的场景渲染&#xff0c;基本核心技术点&#xff0c;不多说&#xff0c;直接引入正题。 场景渲染 下面第二个图中的代码是一个循环渲染逻辑&#xff0c;首先getDelta 获取2次时间的时间间隔&#xff0c;requestAnimationFrame请求我们的一个动…