为什么Visual Studio会将我添加的.cs文件标记为“忽略”?

13

我通过GitHub for Windows在本地克隆了一个现有的但几乎为空的项目,然后在VS 2017中打开它,并添加了一些类。之后,它们全部被标记为“被忽略”的状态,标识是红色带有“减号”的图标。

当我试图提交时(我想通过GitHub应用程序进行提交和推送),所有文件都没有被推送。

然后我尝试右击文件并将它们添加到源代码控制中。然后“减号”变成了“+”。

我还以为问题可能是因为我没有把它们加入暂存区。所以我在VS中这样做了。但我仍然无法推送这些文件。在尝试使用GitHub应用程序进行提交后,所有的.cs文件都再次被标记为“减号”状态。

这是什么原因,如何使它们不再被标记为“被忽略”?


2
我也遇到了同样的问题,你解决了吗? - Vinicius Gualberto
在VS2015和TFS中有同样的问题。我不认为我在任何.tfignore文件中有.cs文件。我注意到这个问题很多月前...一直忍受着它。非常恼人。太容易错过添加新文件了。 - steve
1
@ViniciusGualberto 据我所记,我最终停止使用 Github Windows 应用程序,并仅通过 Visual Studio 进行提交(我认为尝试同时使用两者并没有好处,也不确定是否有原因)。因此,正如这个问题的答案所说:“您需要先添加,确保它们已暂存,然后提交,然后推送。”我不确定,但我想问题可能是我不太熟悉 Git 的工作方式,在 VS 中暂存文件后,我必须在 VS 中进行提交,但我却在 GitHub 应用程序中进行了提交,我认为这没有任何意义。 - Tanya K.
4个回答

13

它们很可能被.gitignore文件忽略了。

如果你没有看到任何明显的东西(检查文件名的子字符串以及扩展名),那么请查找以下内容并删除:

/*
!/content/


3
我不确定这是否对@Tanya有所帮助,以下是我类似的经验。
很遗憾(反映了我的观察力),正如@goamn所建议的那样。
我正在构建一个新的控制台应用程序(非常短的文件列表),以帮助我进行备份活动,并将VS项目命名为“backup”。
但我错过了一件事(第一和第二次浏览时),在.gitignore中,“Backup&report files”中的所有可能位置都有这行代码!
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
Backup*

仅仅从那个文件中移除这一行,即使我已经在github上设置了一个似乎有问题的版本库并且无法正常使用,也能解决问题。我能够轻松提交文件。

希望这能帮到你。


1

假设 .gitignore 文件的内容如下:

*.log

在其中。

现在,以.Log后缀命名的项目将不会被提交(例如名为CompanyName.Domain.Service.SubService.Log的项目)

要将这样的项目添加到源代码控制中,您需要手动添加:

git add <RootFolder>/<CompanyName.Domain.Service.SubService>.Log/* -f

这将强制提交更改,与 .gitignore 文件的意见相反。但是,这不会从 .gitignore 文件中删除 .log。但一旦强制提交发生,项目已经在源代码控制下,因此不会受到 .gitignore 文件的影响。此后,对该项目的提交将被提交。


-2

你需要先添加,确保它们被暂存,然后提交,最后推送


在 GitHub for Windows 中,没有“stage”选项:我只能提交(commit),然后同步(push)。 - Tanya K.
你检查过git仓库根目录下的.gitignore文件了吗?确保被忽略的文件所在的文件夹名称没有被列入.gitignore文件中,同时也要注意不要忽略"*.cs"等文件。 - Dag Baardsen
我认为问题不在于.gitignore文件,因为一开始我们甚至没有创建.gitignore文件(我知道这是一个不好的做法),即使在那种情况下也出现了问题。此外,现在当.gitignore文件被创建时,团队中的其他成员添加相同的文件到相同的文件夹并进行提交时都没有问题。 - Tanya K.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接