git - 如何使 git-show 导出文件为 UTF-8
问题描述
我想查看文件的旧版本,所以我跑了
git show <commit-sha>:example.less > temp.less
将旧版本导出为temp.less
. 但是导出的文件最终具有 UTF-16 编码(甚至认为example.less
是 UTF-8 编码)。
我试过了--encoding=utf-8
,--encoding=utf8
但都没有奏效。此外,如果可能的话,我想在我的 gitconfig 中设置它,而不是每次都输入它。
Windows 10
Git 2.15.0.windows.1
解决方案
这似乎是 Windows PowerShell 中的一个问题,只需使用 CMD 终端即可解决。
我使用 git 版本 2.27.0.windows.1 复制了 Windows 10 中的行为。在 PowerShell 中,我不断获取以 UTF-16 编码的文件,甚至尝试更改代码页(使用chcp 65001
)或使用--endoding=utf-8
.
通过简单地切换到 CMD,以下类型的命令可以工作并生成 UTF-8 文件:
git cat-file blob HEAD:test.txt > retrieved.txt
git show HEAD:test.txt > retrieved.txt
虽然这并不能解决 PowerShell 中的问题,但至少它将问题缩小到 PowerShell。
推荐阅读
- typescript - 我将如何构造类型来表示这一点?
- java - 如何使用 Spring Cloud Contracts 将 Stub 中的 NULL 值设置为 clientValue
- javascript - 简单的 Javascript 未在 Cordova Android 应用程序中显示;我有 CSP 元标记,没有 CSP 错误
- ios - cordova-plugin-facebook4 - iOS 构建失败,错误代码为 65,可能是因为缺少本机依赖项
- json - 如何将多行json导入mongodb集合?
- c# - JSON 复杂类型,可以是对象或对象数组
- lua - 将两个字符串连接到 Lua 中的一个表
- python - Aiohttp 并发响应挂起
- r - 在 R 中可视化 ggplot2 中堆叠条形图的顶部
- python - 链接程序创建的 2 个不同节点中的两个字段