- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个文件名中包含特殊字符(变音符号)的文件。我已经重命名了该文件,但 git
仍然告诉我我有“更改未暂存提交”。但是,我记不起文件的正确名称,git 只告诉我名称是 "Mu\314\210.jpg"
。我不知道应该是什么格式。 utf8
?我尝试了 git rm
并复制了字符串,但没有成功。
如何找出文件的原始名称或如何在不知道确切文件名(可能只有文件扩展名)的情况下删除文件?
编辑:我开始觉得该文件是在 Windows PC 上创建的,并且变音符号的编码在那里有所不同。但是,我无法解释为什么我无法删除该文件。
我刚刚发现那些是八进制表示。尝试来自 Can't remove directories git 的解决方案, Remove a file with a strange name from git , 和 Git: how to specify file names containing octal notation on the command line , 但是,没有帮助。特别是解决方案
git rm `printf "Mu\314\210.jpg"`
没有删除文件。它仍然给我 "Mu\314\210.jpg"没有匹配任何文件
。有没有其他方法可以删除文件?
printf
告诉我 "Mu\314\210.jpg"
是 "Mü.jpg"
。然而,ü
在我的 Mac OSX 上的八进制表示应该是 \303\274
。这就是为什么我认为 u\314\210
来自 Windows PC。仍然不确定这有什么帮助。
我只是尝试运行 git-rm
建议的git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
.现在我非常肯定该文件在再次添加之前无法删除。我将尝试获取具有旧文件名的文件,然后将其删除。
好的,添加旧文件也无济于事。 Mac OSX 似乎会自动更改八进制表示法。似乎最后的机会是在 Windows PC 上将其删除。
最佳答案
使用 git rm 你可以这样做:
git rm Mu*.jpg
这将从索引中删除所有以 Mu 开头并以 .jpg 结尾的文件
如果你在 repo 中有其他文件匹配它们将被删除的模式。在这种情况下,您可以使用:
git add -u Mu*.jpg
来自 git add 的手册页:
-u --update
Only match against already tracked files in the index rather than the working tree. That means that it will never stage new files, but that it will stage modified new contents of tracked files and that it will remove files from the index if the corresponding files in the working tree have been removed.
(这还将暂存存储库中与模式匹配的文件中所做的任何其他更改,如果你想使用 git reset
,你可以随时取消暂存它们)
关于macos - Git check out /删除带有特殊字符的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23808611/
在跨平台应用程序中,我正在使用一个配置文件,允许用户根据需要覆盖各种默认值。 我的问题是...在哪里放置/查找此配置文件,尤其是关于 MacOS X(我从未使用过且无法访问)?我知道 MacOS X
由于Xcode的代码签名和存档非常耗时,枯燥且有问题,因此我一直通过自己的脚本使用命令行工具xcodebuild,codesign等对我的开发人员ID签名的macOS应用进行代码签名,存档和交付。公证
我正在寻找一种在 MacOs 应用程序中以编程方式逐帧绘制动画的方法(不是关键帧属性动画)。我尝试使用drawLayer:inContext:委托(delegate)方法绘制到CALayers,调用s
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我在83%的安装openCV中遇到问题...我的python是2.7.3。我已经适应了xcode。我使用了这个tuturial。 我的Cmake: cmake -D CMAKE_BUILD_TYPE=
我需要弄清楚 Mac 的日志键的键码(ctrl、shift 等)或者需要知道如何跟踪这个日志按键事件... 基本上我正在将 mac key 代码转换为等效的 Windows key 代码......我
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
我想将一个 Rust 程序从我的 x86 Mac 交叉编译成一个可以在 Silicon Mac 上运行的二进制文件,但我无法弄清楚链接。 我有: 运行 macOS 10.15.7 Catalina 的
在 macOS ventura 中,我无法复制我的终端应用程序。 我想这样做,因为我有一个 M1 处理器,我想要一个使用 Rosetta2 打开的处理器和一个本地打开的处理器。 有什么办法解决这个问题
当您可以访问实际硬件时,在 Mac 上以安全模式启动是很容易的。您只需在启动时按住 shift 键即可。 在虚拟机中运行 macOS (OSX) 时如何启动到安全模式? 最佳答案 Schmitty 在
这个问题在这里已经有了答案: How to get Conda and Virtualenv to work on mac OS Catalina? (8 个答案) 关闭 3 年前。 我在 macO
我有一个关于 macOS 应用程序图标的问题。我以前看过很多动画图标,但从来没有真正密切关注正在发生的事情/他们是如何做的。我只是想知道是否有任何方法可以创建在停靠栏中动画的动画应用程序图标。 例如:
每当我在 vim 中输入终端命令(例如,!echo hello)时,我会立即被踢出去查看该终端命令的结果,然后提示我使用 按 ENTER 或键入命令继续。这有点刺耳。我想留在 vim 中,并在底部打印
当使用文本编辑应用程序时,选择一种字体(例如“Menlo”)来呈现字形,当所选字体不包含特殊字形(例如“𠹷”,它是一个简单的中文字形,“Menlo"不包含它), 应用程序会选择一种字体来呈现它, 在
已经有几个关于如何在 Mac 上启用虚拟化的问题(例如 How to enable support of CPU virtualization on Macbook Pro?)。经常报告 sysctl
这只是出于好奇。 Exposé 有两个功能,其中一个是重新排列桌面上的窗口,一个是显示所有打开的窗口,这样用户可以看到隐藏在其他窗口下面的窗口,另一个功能是将所有窗口移到两侧,让用户与桌面交互。 我只
我使用的是 MacOS X,我对应用程序包类型的东西还很陌生。我正在编写一个程序来打开一个窗口并注册鼠标输入——而不是一个命令行工具。当我将我的代码(用 C 编写,如果这很重要)编译成一个可执行文件(
我正在制作一个必须支持 macOS 的 Flutter 插件。但是,当我想创建一个插件并在示例应用程序中运行该插件时(即使我还没有编辑过 Flutter 生成的代码),Xcode 会抛出以下错误。 无
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我想在终端(MacOs)中像屏幕一样显示当前目录面包屑: 我该怎么做? 现在它只是一个文本...... 谢谢 最佳答案 首选项 -> 窗口 -> 检查工作目录或文档下的“路径”。 路径将作为窗口标题的
我是一名优秀的程序员,十分优秀!