如何在文件结尾处使用特殊字符跟踪 Git-LFS 中的文件?

时间:2021-01-27 10:18:58

标签: git git-lfs

在我的公司,我们使用个人加密工具,可以对单个文件进行加密。它试图通过将加密文件存储在未加密文件旁边并以特殊文件结尾来为 Windows 用户透明地处理加密和解密。这是自动完成的,我无法改变这种行为;我无法重命名文件。它在文件名的末尾添加了一个符号,看起来像 Unicode 点运算符 '⋅',但我不确定。

未加密:MyWord.docx 加密:MyWord.docx

在 Windows 中它看起来像点运算符“MyWord.docx⋅”

git bash 等工具显示文件为:MyWord.docx\356\263\260

如果我这样做

git-lfs track "*.docx\356\263\260"

该文件未被 LFS 跟踪。如何将带有特殊字符的结尾正确添加到 Git-LFS-tracking 中?

在你提问之前:我知道,在 git 中存储二进制文件和特别是加密的文件可能不是最好的主意。

2 个答案:

答案 0 :(得分:0)

在存储库的根目录中,.gitattributes 文件是存储 git lfs track 设置的位置,您可以在文件名中添加特殊字符并保存。然后你可以测试这个。

答案 1 :(得分:0)

这更像是一个 shell 问题:

$ echo "\356\263\260"
\356\263\260

这些 "\356\263\260" 不是特殊字符,只有 12 个字符,即 \ 字符的三倍,后跟 3 位数字。如果您希望将特殊字符传递给脚本,则必须使用特殊引用。研究 shell 中的 bash C 引用以及命令 echoprintf 以获取更多信息。

如果那个字符是 this character 并且你的 shell 是 UTF-8,你可以插入它:

git-lfs track "*.docx"

那个字符甚至不能在我的字体上正确呈现,所以我从你的帖子中复制了它。如果您要从 utf-8 编码,请使用上面提到的 shell 方法:

git-lfs track "*.docx"$'\xEE\xB3\xB0'
git-lfs track "*.docx$(printf "\xEE\xB3\xB0")"