拉取文件名中带有保留字符的远程仓库

Pulling a remote repo with a reserved character in filename

我正在尝试从 Github 中提取一个远程存储库,以便之后我可以推送一些新文件,但是我的一位合作者(在 OSX 上工作)命名了一个带有Windows 中的保留字符,“:”。如果我可以在不这样做且不会引起潜在问题的情况下推送我的更改,那么我没有必要拉回回购协议(已经研究 git pull --force 但我担心可能会从远程回购协议中删除文件) .执行此操作的最佳方法是什么?

提前致谢!

最简单的解决方案可能是技术含量最低的:联系与您协作的人,让他们重命名文件。

这当然不优雅,但这是处理问题的最安全方式 - 希望以后避免类似问题。

您可以使用“sparse checkout”将您的存储库设置为完全忽略这些文件的存在:

cat <<\EOD >.git/info/sparse-checkout
*
!*:*
EOD
git config core.sparseCheckout true
git checkout

git read-tree 实现了结帐和合并管道(结帐实际上只不过是快进合并的特例),所以这就是记录的地方。