首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何检出文件名中包含特殊字符(例如?)的文件在Git中的Windows上,同时将原始名称保留在库中?

在Git中,Windows操作系统上检测包含特殊字符(例如?)的文件名并保留原始名称的方法如下:

  1. 打开Git Bash命令行工具,切换到存储库所在的目录。
  2. 使用以下命令查找包含特殊字符的文件名:
  3. 使用以下命令查找包含特殊字符的文件名:
  4. 这将列出所有未添加到Git索引中的文件,并且排除掉已经在.gitignore文件中定义的文件。
  5. 根据命令输出找到包含特殊字符的文件名。
  6. 将包含特殊字符的文件进行重命名,以避免特殊字符。你可以使用以下命令将文件重命名为一个没有特殊字符的名称(例如,将文件名中的'?'替换为其他字符):
  7. 将包含特殊字符的文件进行重命名,以避免特殊字符。你可以使用以下命令将文件重命名为一个没有特殊字符的名称(例如,将文件名中的'?'替换为其他字符):
  8. 其中old_filename是当前文件名,new_filename是要修改的新文件名。
  9. 提交重命名后的文件:
  10. 提交重命名后的文件:
  11. 这将把重命名后的文件添加到Git版本控制中。

在这个过程中,Git提供了git ls-files命令用于列出未添加到Git索引中的文件。然后可以使用git mv命令重命名文件并将其提交到版本控制。重命名后的文件将保留在库中,而原始的包含特殊字符的文件名则被避免使用。

关于文件名包含特殊字符的问题,腾讯云并没有直接相关的产品或服务。然而,腾讯云的对象存储 COS(Cloud Object Storage)可以作为一个存储解决方案用于存储和管理文件,通过使用COS的API和SDK,你可以在自己的应用程序中实现对文件的重命名操作。详情请参考腾讯云COS的官方文档:对象存储 COS

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

How to use Git

当你代码编辑器打开项目文件时,你是工作目录处理文件 检出(Checkout) 检出是指仓库内容复制到工作目录下。...git commit 小结 此命令: 打开配置中指定代码编辑器 请参阅第一节课 git 配置流程,了解如何配置编辑器) 代码编辑器: 必须提供提交说明 以 # 开头行是注释,将不会被记录....gitignore 如果你想将某个文件保留在项目的目录结构,但是确保它不会意外地提交到项目中,可以使用名称特殊文件 .gitignore(注意文件名开头点,很重要!)。...--all 选项会显示仓库所有分支。 合并 当你主题分支做出更改后,如果觉得不想要该分支更改,则可以删掉该分支,或者你决定要保留更改,则可以将该分支更改与其他分支更改合并。...注意表述“合并…”;进行合并时,另一个分支更改将出现在当前检出分支。 我再强调下,当我们合并时,我们将其他分支合并到当前(检出)分支。我们不是两个分支合并到一个新分支

1.1K10
  • Git 中文参考(二)

    如果文件名包含空格或其他不可打印字符,则该字段将以 C 字符串文字方式引用:由 ASCII 双引号(34)字符包围,并使用内部特殊字符反斜杠转义。...其次,NUL(ASCII 0)跟在每个文件名后面,空格替换为字段分隔符和终止换行符(但空格仍然状态字段与第一个文件名分开)。第三,包含特殊字符文件名不是特殊格式;不执行引用或反斜杠转义。...但是,在此类系统创建存储库无法基于 UTF-8 系统(例如 Linux,Mac,Windows正常工作,反之亦然。...例如,第一个表第一行表示如果文件工作树处于状态A,索引处于状态B,HEAD是状态C,目标节点中是状态D,git reset --soft target文件保留在状态A工作树中和状态B...这就是我们在这种情况下不允许--merge选项原因。 保留当前分支一些最后提交同时保留工作树更改时,将使用reset --keep。

    20210

    Git 中文参考(五)

    这必须高于 git blame 某个阈值才能考虑那些代码行被移动。 -f --show-name 原始提交显示文件名。...默认情况下,如果由于重命名检测而存在来自具有不同名称文件任何行,则会显示文件名。 -n --show-number 显示原始提交行号(默认值:关闭)。...--heading 文件匹配项上方显示文件名,而不是每个显示开头。 -p --show-function 显示包含匹配函数名称一行,除非匹配行是函数名称本身。...但是,有时您可能希望覆盖其决定,因为 blob 文件稍后包含二进制数据,或者因为内容虽然在技术由文本字符组成,但对于人类读者来说是不透明。...正则表达式可以匹配提交消息任何部分。为了匹配以字符串开头消息,可以使用例如 :/ ^ foo 。特殊序列 :/! 保留用于匹配修饰符。 :/! - foo 执行负匹配,而 :/ !!

    21610

    如何存储 Git文件

    作者:terryshchen,腾讯 IEG 应用开发工程师 本文主要讲解 Git 仓库如何管理大二进制文件,详细介绍了什么是 Git LFS,Git LFS 是如何工作,以及如何使用 Git LFS...Git LFS initialized. 这将在你仓库安装一个特殊 pre-push Git 钩子,该钩子将在你执行 git push 时候传输 Git LFS 文件到服务器。...克隆过程结尾,Git 检出默认分支(通常是 master),并且将自动为你下载完成检出过程所需所有 Git LFS 文件。...LFS 文件时,这将大大提高性能(同样,尤其是 Windows )。...log 咒语会通过添加或删除包含指定字符串(Git LFS SHA-256 OID)行(-S)任何分支(--all)提交生成补丁(-p)。

    3.5K52

    Git 中文参考(四)

    请注意,为了避免与 Windows PATH 冲突, path 变量现在是 例如,下面的命令显示每个子模块路径和当前检出提交: git submodule foreach 'echo...%S :达到提交命令行给出引用名称(如git log --source),仅适用于git log %e :编码 %s :受试者 %f :已清理主题行,适用于文件名 %b...但是,在此类系统创建存储库无法基于 UTF-8 系统(例如 Linux,Mac,Windows正常工作,反之亦然。...%S :达到提交命令行给出引用名称(如git log --source),仅适用于git log %e :编码 %s :受试者 %f :已清理主题行,适用于文件名 %b...但是,在此类系统创建存储库无法基于 UTF-8 系统(例如 Linux,Mac,Windows正常工作,反之亦然。

    21310

    Git 中文参考(一)

    感兴趣标签 SHA-1 名称存储ref/tags/下。名为HEAD特殊引用包含当前签出分支名称。 索引文件使用所有路径列表进行初始化,并为每个路径初始化 blob 对象和一组属性。...例如,提交文件检出同一文件应该会在工作树中生成原始文件。如果core.autocrlf的当前设置不是这种情况,Git 拒绝该文件。...如果您提前识别出此类损坏,则可以通过.gitattributes 明确设置转换类型来轻松解决此问题。提交后,您仍然工作树中保留原始文件,此文件尚未损坏。...例如,带有LF文本文件将被core.eol=lf接受,之后可以使用core.eol=crlf检出,在这种情况下,生成文件包含CRLF,尽管原始文件包含LF。...仅包含未跟踪文件目录仅显示目录名称。显示未跟踪文件意味着 Git 需要 lstat()整个存储库所有文件,这在某些系统可能很慢。因此,此变量控制命令如何显示未跟踪文件

    28420

    Git Pro深入浅出(二)

    ..HEAD # 查看所有被refA或refB包含但是不被refC包含提交 $ git log refA refB ^refC $ git log refA refB --not refC # 选择出被两个引用一个包含但又不被两者同时包含提交...注意:设置选项更干净并且可以应用到全局,推荐使用配置项开启 (2)示例 步骤一:制造冲突 develop和master分支同时对test.js文件同一行进行修改 develop...如果你 git blame 后面加上一个 -C,Git会分析你正在标注文件,并且尝试找出文件从别的地方复制过来代码片段原始出处。...^4df6152 注意: 4df6152为commit2前一次提交ID,可以通过git log查看 可以这个文件导入到原始仓库,即使在这期间已经有其他工作提交到这个仓库。...我们可以新历史推送到新项目中,当其他人克隆这个仓库时,他们仅能看到最近两次提交以及一个包含上述说明基础提交。 如果,想获取整个项目的历史该如何做???

    1.2K31

    【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    m 'description'; --提交代码到远程GitHub仓库 :git push ; .gitignore用法 : 开放模式 注明忽略文件 直接列出文件名, 保守模式 注明保留文件 !..., 提交东西包含一些元数据(作者, 日期, GPG等); Git分支和合并 : 分支模型是Git最显著特点, 因为这改变了开发者开发模式, SVN等版本控制工具每个分支都要放在不同目录,...: 使用Git自带Git Bash命令行工具; -- 系统自带CMD : 使用Windows系统命令行工具; -- 二者都有 : 上面二者同时配置, 但是注意, 这样会将windowsfind.exe...branch1 (3) 切换分支 切换分支 : git checkout 分支名称, 切换分支以后, 分支进行操作,文件改变不会体现在master主分支, 主分支改变, 会体现在其它分支;...1> 独立开发示例 该示例不会上传, 仅在本地进行操作; 从GitHub检出项目源码 : 注意, 检出源码是根目录源码, 我们总仓库根目录检出即可,不同再为项目创建目录; git clone

    1.9K50

    如何使用 Git:参考指南

    如果要添加当前目录所有文件以及子目录文件,可以使用 -all或 -A标志: git add -A 您可以使用以下命令从暂存删除文件同时保留工作目录更改 reset: git reset...-b标志来合并新分支创建和检出git checkout -b new-branch 重命名您分支名称git branch -m current-branch-name new-branch-name...无论文件重命名如何,这都遵循文件git log --follow my_script.py 显示一个分支而不是另一个分支提交。...显示有关特定存储信息: git stash show stash@{0} 要将当前存储文件从存储取出,同时保留存储,请使用 apply: git stash apply stash@{0}...使用文本编辑器(例如 nano)文件添加到 .gitignore文件: nano .gitignore 复制 要查看 .gitignore文件示例,您可以查看 GitHub .gitignore

    1.3K30

    Git Pro深入浅出(一)

    缺点:中央服务器发生故障或宕机,谁都无法提交更新,也就无法协同工作;如果中心数据库所在磁盘发生损坏,又没有做恰当备份,毫无疑问你丢失所有数据——包括项目的整个变更历史,只剩下人们各自机器保留单独快照...示例: 143ce5d31013a083620dd93e28a9cb20e5e0ca67 实际Git数据库中保存信息都是以文件内容哈希值来索引,而不是文件名。 4....暂存区域:是一个文件,保存了下次提交文件列表信息,一般Git仓库目录。 基本Git工作流程如下: 第一步:工作目录修改文件。...分支简介 Git保存不是文件变化或者差异,而是一系列不同时文件快照。 进行提交操作时,Git会保存一个提交对象(commit object)。...由于Git分支实质仅是包含所指对象校验和(长度为40SHA-1值字符串)文件,所以它创建和销毁都异常高效。

    1K31

    Git简明使用指南

    包含文件名列表以及文件类型比特(包含许可权)、到blob(对应于文件)或tree对象引用。...remotes: 引用远程repository一个对象 meta: 例如一个bare repository一个配置, 用户权限; refs/meta/config名字空间等 版本控制 Git 是一个版本控制工具...命令形式: git reset [--mixed | --soft | --hard] [] 其中: --mixed 仅是重置索引位置,而不改变你工作树任何东西(即,文件所有变化都会被保留...$ git fetch $ git rebase {{branchName}} # 当前工作分支提交迁移到指定分支基础 远程仓库与本地交互 首先,我们需要建立一个远程仓库本地镜像...input # 提交检出均不转换 git config --global core.autocrlf false linux与windows换行符格式不同,提交时为了防止被CRLF刷屏,可以执行以下命令

    99700

    Git使用--如何安装和使用 github,让小白不在那么白 (一)(超详解) 简介

    简介   刚开始写了关于如何本地代码上传到github,但是有些小伙伴们不清楚如何安装Git,这一篇就给小伙伴们普及一下Git安装和使用。适合刚开始用git小白,大神或者大佬请绕道。...ASCII字符,并且Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。...当对工作区修改(或新增)文件执行 "git add" 命令时,暂存区目录树被更新,同时工作区修改(或新增)文件内容被写入到对象库一个新对象,而该对象ID被记录在暂存区文件索引。...四、Git管理远程仓库 1、使用远程仓库目的:备份、实现代码共享集中化管理 Git远程仓库实际就是保持服务器git仓库文件 ? ? ?...解决:这是通过Git GUI进行提交时发生错误,由 .git 文件文件被设为“只读”所致, .git 文件夹下所有文件文件夹及其子文件只读属性去掉即可。 ?

    2.6K52

    Git 中文参考(六)

    它可以被 Windows 用户和非 utf8 语言环境用户使用,以避免使用非 ASCII 字符损坏文件名。有效编码是 Perl Encode 模块支持编码。 svn-remote....提供额外空白字符导致意外结果,例如名称带有前导或尾随空格分支名称文件名,或者遇到意外输入时提前终止快速导入。...为了节省空间,文件和树名称汇集一个公共字符串表,允许文件名“Makefile”仅使用 16 个字节(包括字符串头开销之后),无论它在项目中出现多少次。...这些过滤器可以修改每个树(例如,删除文件或对所有文件运行 perl 重写)或有关每个提交信息。否则,保留所有信息(包括原始提交时间或合并信息)。...提交标识 stdout 是预期。 作为特殊扩展,提交过滤器可以发出多个提交 ID;在这种情况下,原始提交重写子项全部作为父项。

    28410

    创建Android库方法及Android .aar文件用法小结

    另外也要注意,库模块和相关应用都必须在其清单文件 <uses- library 元素声明外部库。 库模块不得包含原始资源 工具不支持在库模块中使用原始资源文件(保存在 assets/目录)。...库模块可能包含自己 ProGuard 配置文件 通过 ProGuard 配置文件添加到包含其 ProGuard 指令库,您可以自己启用代码压缩。...当 ProGuard Android 应用模块运行时,它会同时使用来自应用模块和库指令,因此您不应当只在库运行 ProGuard。...尝试协助开发者规则可能会与应用模块或它其他库现有代码冲突,因此不应包含这些规则。例如,您 ProGuard 文件可以指定在应用模块压缩期间需要保留代码。...区别在于:aar除了包含class文件,还包含resource文件Android Studio如何引入aar文件呢? 拿RecyclerViewaar文件为例。 1、找到aar文件:..

    3K10

    Go命令官方指南【原译】

    除了变量替换和引用字符串评估之外,命令行不执行诸如“globbing”之类特殊处理。...“go env”提供其他信息,但未从环境读取: GOEXE 可执行文件名后缀(Windows为“.exe”,其他系统为“”)。...GOPATH环境变量列出了查找Go代码位置。Unix,该值是以冒号分隔字符串。Windows,该值是以分号分隔字符串。计划9,值是一个列表。...如果未设置环境变量,GOPATH默认为用户主目录名为“go”子目录(Unix为$ HOME / go,Windows为%USERPROFILE%\ go),除非该目录包含Go分发。...程序包不需要具有唯一包名,但有两个具有特殊含义保留包名。名称main表示命令,而不是库。命令内置于二进制文件,无法导入。名称文档表示目录中非Go程序文档。go命令会忽略包文档文件

    8.1K30

    Git 命令归纳总结

    这其中包含了已修改但未暂存,或已经暂存但没有提交文件。 一般它显示形式,会给你展示一些关于如何在这些暂存区域之间移动文件提示。...git commit git commit 命令所有通过 git add 暂存文件内容在数据库创建一个持久快照,然后当前分支分支指针移到其之上。...我们 移除文件 一节中提到了 git rm 一些细节,包括递归地移除文件,和使用 --cached 选项来只移除暂存区域文件但是保留工作区文件。...git submodule git submodule 命令用来管理一个仓库其他外部仓库。它可以被用在库或者其他类型共享资源。...git grep git grep 命令可以帮助源代码,甚至是你项目的老版本任意文件查找任何字符串或者正则表达式。

    84940

    Git版本控制 Git、github,gitlab相关操作

    文件版本常见问题 合并代码:两个人写代码如何合并到一起 版本回退:写代码过程当中, 代码出现错误,如如何才能加回到以前没有错误代码 版本管理工具 集中式管理 特点: 集中式版本控制系统,版本库是集中存放在中央服务器...Git 目录 有时候人们会把这个文件叫做索引文件 暂存区这个索引文件里面包含文件目录树,像一个虚拟工作区,在这个虚拟工作区目录树,记录了文件名文件时间戳、文件长度、文件类型以及最重要...它是 Git 用来保存元数据和对象数据库地方,这个目录可以说是Git核心 每次克隆镜像仓库时,实际拷贝这个目录里内容而已 工作流程 1、工作目录修改文件。...2、暂存文件文件快照放入暂存区域。 3、提交更新,找到暂存区域文件快照永久性存储到Git仓库目录。...# 查看配置信息 git config --list 创建一个空文件工程通过git base here命令窗口初始化仓库 项目当中创建添加一些文件 查看这些文件git

    29910

    使用Git来管理源代码

    ,基于C/S模式,CVS代码存储服务器,通过客户端来获取、提交代码及其它操作。   ...类似cmd/powershell,同时也可以gitcmd目录配置到环境变量中用Windows命令行工具执行git命令)或新版本内置简单GUI程序:   安装运行结果:   左为Git Bash...My Blog根目录下打开Git Bash,使用git init创建一个本地仓库:   同时该目录下生成一个.git隐藏目录。   2....文件跟踪、修改、提交   文件添加到git管理涉及到相关操作: 跟踪新文件:(git add 文件名git add -a 后者添加除被忽略以外所有文件) 提交文件:(git commit...GitHub创建一个新仓库(注:需要先注册一个GitHub账户):   创建成功后GitHub会给出提示如何使用这个库,比如创建新库流程、导入已有库流程以及导入代码流程:   这里我们需要第二种方法

    1.5K20
    领券