我上传并将文件提交到本地git存储库,这似乎正常工作。
然而,在检查存储库时,它似乎不存在。摘自我的命令会话:
D:\myproject>git log -1 --stat
...
myfile.h | 27 +-
...
30 files changed, 18501 insertions(+), 15303 deletions(-)
D:\myproject>git ls-files myfile.h
D:\myproject>
此文件应该在多次提交时已存在于存储库中很长时间了 显然我担心提交可能也会因其他文件而无声地失败。
如何确保我的更改都正确提交?
答案 0 :(得分:0)
该文件原来存在于存储库中,但路径有不同的情况。如,
存储库:ParentFolder/myfile.h
工作目录:parentfolder/myfile.h
虽然Windows将这些路径视为相同的路径,但即使ignoreCase
选项设置为true,git也不会(ignoreCase
显然仅影响暂存区域而不是git ls-files
,{{ 1}}等等。
修复是编写一个脚本,将git diff
(gnu / msys找不到Windows找到!)的输出与find
进行比较,以查找以这种方式受影响的所有文件。受影响的文件是存在于repo中的文件,它们在工作树中具有不区分大小写但不区分大小写的匹配项。然后对于每一个,删除并重新添加Git,小心不要删除本地副本:
git ls-files
并提交。