git无法识别新增的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git无法识别新增的文件相关的知识,希望对你有一定的参考价值。

参考技术A h文件和cpp文件的名称一定要区分大小写。

如果文件夹名中有大写字母,使用git add -f 的时候,也要使用大写字母。

否则git不会报错,但是,sourcetree依然无法 对该文件进行版本控制。

工作目录中,新建一个文件,比如一个.h和.cpp文件。

但是,git无法识别这些文件。

用git status命令,返回目录是clean的。表明没有任何修改。说明git没有识别到这些新增加的文件。

原因:

不知道什么原因导致的。不是mercurial,也不是sourcetree。用git命令依然无法发现这些新增加的文件。

解决方法:

强行将这些文件添加到git版本控制中。

方法:

git add 1.cpp

返回无法添加,说1.cpp已经处于.gitignore中。但是iganore中明明没有忽略这些cpp文件。

解决方法:

git add -f 1.cpp

这样就可以将1.cpp添加到git的版本控制中。

如果直接git add -f 1.cpp

报错,无法找到文件1.cpp。

那么就将1.cpp的完整路径输入即可。比如D:/jingmai_git/TradePlugin/src/Trade/1.cpp就可以了。

link: http://blog.csdn.net/zhangbinsijifeng/article/details/47041913

1803更新后VS15不识别git克隆的文件

【中文标题】1803更新后VS15不识别git克隆的文件【英文标题】:VS15 does not recognize files cloned by git after 1803 update 【发布时间】:2018-10-14 19:40:40 【问题描述】:

昨晚Win10更新到1803版本。

从那时起,Visual Studio (2015) 无法再编译任何新的克隆项目。 我通过 Windows 上的 Bash 从 gitlab 服务器克隆。在更新之前已经在磁盘上的旧项目仍然可以编译而不会出现任何问题。

似乎 Visual Studio 无法再定位/查找文件了,因为尝试编译会给出如下错误消息:

c1xx : fatal error c1083: cannot open source file: ...

有没有人遇到过同样的问题,或者知道为什么会发生这种情况?

编辑:

经过一番挖掘,归结为 CL.exe 编译器似乎不允许读取 git 创建的任何 sub 目录的问题。但是,它有权读取 ma​​in git 目录。

更多编辑:

原来是 Ubuntu 子系统的问题。通过 WSL 创建的目录不再被某些程序(在我们的例子中是 CL.exe)读取。

可惜……在更新之前 WSL 和 VS 一起工作就像一个魅力!

到目前为止的解决方案: 使用 git-Bash 直到 MS 解决问题...

【问题讨论】:

“Bash on Windows”是指git for windows吗? 不,Win 10 上的 Ubuntu 子系统。 我对此了解不多,但听说不建议同时从 Windows 和 linux 子系统访问文件。但是,让我们看看是否有专家意见。我添加了相关标签 @schmitze333 试试这个github.com/Microsoft/WSL/issues/3118 【参考方案1】:

我遇到了同样的问题。根据@Biswapriyo 提供的链接,我能够了解导致此问题的原因。

适用于 Linux 的 Windows 子系统 (WSL) 最近增加了对区分大小写的文件/文件夹的支持。但是,当使用cl.exe (c1xx) 编译器 时,它不会在当前版本的 WSL 中创建(或克隆)的文件夹中找到文件。原因是cl.exe 使文件和路径大写。因此,如果您的源文件在c:\tmp 中称为main.c,编译器会查找C:\TMP\MAIN.C。因此,区分大小写的文件匹配不起作用,编译器“无法打开源文件”。

要解决此问题,请在您的 WSL 环境中创建文件 /etc/wsl.conf 将以下文字添加到wsl.conf

[automount]

options=case=off

我已验证这解决了我在 WSL 更新中看到的问题。但是,它会破坏 WSL 处理仅在大小写相同的文件夹中不同的文件名。

【讨论】:

感谢调查!自从我换了公司,我现在可能在 UNIX 下开发,不再有问题了?。但我会将这个解决方案转发给我以前的同事。

以上是关于git无法识别新增的文件的主要内容,如果未能解决你的问题,请参考以下文章

为啥 git 无法识别我的文件已更改,因此 git add 不起作用

IntelliJ git 无法识别角度项目文件中的更改

Mac下使用Sourcetree无法识别文件夹

解决 Windows 环境 Git Bash 里无法识别 Composer 命令的问题

1803更新后VS15不识别git克隆的文件

Git专栏11:显示和隐藏.git文件