我正在使用git进行版本控制的共享项目。当我的伴侣在Unix上时,我在Windows上。
我的合作伙伴已使用<file1>.txt
命名了一些文件。当我尝试提取这些文件时,它们不被接受,因为<
和>
是Windows的无效字符。这很好,我不需要触摸文件。但是,它们会被添加到我的提交中作为已删除。所以,如果我推,那么我将删除这些我不想做的文件。
我无法使用git reset --hard
,因为它会为每个“已删除”文件找到无效路径。
有没有办法从我的提交中排除这些文件?我已尝试将<file1>
添加到.git/info/exclude
,但这不起作用。
答案 0 :(得分:1)
您需要获得您的合作伙伴才能将名称更改为在Windows上也有效的名称。他们重命名它们后,我要做的是:
git reset --hard <commit>
,其中<commit>
是添加文件之前的任何提交。git pull
到最新版本(文件已重命名)。然后应该获得较新的修订版本,其中未使用Windows非法方式将文件命名为Windows,并且操作系统不会从git下删除(或永远不会创建)这些文件:)
P.S。我知道这是一个老问题,但是我最近一直在遇到这个问题,因此希望我提出的解决方案也能对其他人有所帮助。
答案 1 :(得分:0)
如果已经跟踪文件,则忽略无效。
使用Sparse checkout跳过这些文件。