【发布时间】:2015-10-31 11:41:03
【问题描述】:
所以,我正在为我公司的项目开发一个组件,其中我们使用 git 作为我们的版本控制。在我完成项目任务后,我需要将我的代码发送给审查。
问题是,我正在使用 Windows 机器,远程 git 分支上的 perl 文件名类似于 "filename::123.pm" .所以当我签出这个分支时,Windows 所做的只是从我的本地分支中删除它们,并且所有带有 :: 的文件名都消失了。由于这些是重要文件,因此这是我在本地分支上添加的问题,并且无法合并,因为那时重要的 perl 文件已经消失了。
我该如何避免这种情况?
我想尝试像忽略特定文件以获取 repo 的 git 克隆,所以当我结帐时,它们无论如何都会被忽略并且不会被删除,但这是不可能的。我想做的另一件事是在运行 linux 的 VM 上克隆并从那里进行提交。好吧,克隆速度非常慢,这也不是一个选择。
在文件名对 Windows 机器读取无效的情况下,使用此存储库的最佳选择是什么?不,重命名文件是行不通的,因为如果我们这样做,还有很多工作要做。
【问题讨论】:
-
":" 是 Windows 文件名中的保留字符,这可能会提供更多信息 stackoverflow.com/questions/5991805/…。顺便说一句,如果部分历史记录足够,您可以通过在 VM 机器上添加
--depth 1来进行浅层克隆。