.gitignore for Visual Studio项目无法正常工作

时间:2018-06-28 08:18:41

标签: git visual-studio

我正在使用标准的Visual Studio .gitignore文件,但是Windows的Git仍然包括生成文件和其他内容。该如何解决?

我正在使用的Git忽略文件:https://github.com/github/gitignore/blob/master/VisualStudio.gitignore Visual Studio自动生成相同的东西

它的命名正确,并且在正确的位置

enter image description here

当我输入git status命令时,它会显示构建文件

enter image description here

7 个答案:

答案 0 :(得分:12)

要停止跟踪忽略文件中的文件,请打开命令提示符,然后导航到包含解决方案文件(.sln)的目录,然后运行以下命令(前两个命令最后包含点):

git rm -r --cached . 
git add .
git commit -am "Remove ignored files"

然后打开Visual Studio并同步您的仓库。 这似乎对我有用。我找到了git命令here

答案 1 :(得分:8)

文件已修改,这意味着它们已经在git存储库中 之前,您添加了.gitignore文件(或显式添加了它们),因此您现在不能再“忽略”对其的更改了。 / p>

如果可能的话,只需重新开始并从头开始创建存储库,但是现在进行第一次提交,只需添加.gitignore文件(顺便说一句总是一个好主意),然后进行第二次提交,添加所有源文件;构建文件将被忽略。

或者,通过修改添加这些文件的提交,并在较早的提交中添加.gitignore,您也可以使用交互式重新编制基准来重写历史记录。或者,您可以使用分支过滤来摆脱这些文件的所有痕迹。可能还有其他选择。

答案 2 :(得分:1)

对于我们来说,这种方法是可行的:

  1. 检查.gitignore文件-看起来还可以(忽略bin / Debug文件夹的内容)
  2. 检查GIT存储库中的这些文件(bin / Debug文件夹内容)-它们在那里=>与忽略文件不一致
  3. 本地删除这些文件并提交并推送(使用.gitignore定义缩小GIT文件)
  4. 重新启动Visual Studio并执行Pull
  5. 存储库和VS现在似乎处于一致状态

答案 3 :(得分:1)

终于解决了

这个小技巧帮助了我。它删除所有已缓存为“跟踪”的文件,然后根据 .gitignore 文件重新添加文件

首先:

以递归方式 (-r) 删除 (git rm) 所有缓存为被跟踪的文件

git rm -r --cache

那么:

添加所有(git add .)已更改/未在缓存中考虑的文件;这将按原样重新添加文件,因此不需要“重新保存”文件,它们只会从会删除文件的 git 更改中消失(以及所有其他文件由于第一个命令)- 结果是“更改”或 git status 应该只包含现在将被 .gitignore 忽略的文件,如果它们不在 .gitignore 更改之前。

git add .

资源:

https://sigalambigha.home.blog/2020/03/11/how-to-refresh-gitignore/

这对我来说是一场漫长的斗争,当我只想将我的更改合并回主程序时,我终于让我的 dll 保持安静!

我的 .gitignore 用于 dotnet 核心项目:

"

\# file types<br>
*.cache<br>
*.dtbcache.v2<br>
*.dll<br>
*.pdb<br>
*.suo<br>
.suo<br>
*.testlog<br>
*.user<br>

\# directories<br>
**/Release

答案 4 :(得分:0)

可以停止跟踪任何签入文件的任何更改。您需要通过在给定的存储库import pandas as pd df = pd.read_csv('testfile.csv') a = df['Last First Name'].tolist() for row in a: b = row.split(', ') print(b[1]) 中调用以下命令,告诉git首先从其索引中删除文件。然后更新您的> git rm --cached <file>文件以排除该文件。最后,提交删除文件。

来自Microsoft Git guide的来源。

答案 5 :(得分:0)

.cache文件存在此问题,以下步骤为我解决了该问题:

  1. 添加.gitignore
  2. 阶段并提交
  3. 手动删除* .cache(在Windows资源管理器中查找)
  4. 刷新VS中的更改-Team Explorer-更改
  5. 撤消未决的更改(基本假设,您已提交了要保留的所有更改!)
  6. *。cache文件不再在更改中列出

HTH

答案 6 :(得分:0)

从 VS Code 1.56.0 开始,这对我有用,因为 VS Code 忽略了尚未跟踪的文件,但显示为已更新(文件旁边的绿色 U):

  • 对您的 .gitignore 进行编辑以忽略源代码管理侧边栏列为已更新的文件
  • 右键单击源代码管理侧栏中要忽略的文件之一(它应该已被您在上一步中手动编码的更改所覆盖)并从上下文弹出菜单中选择 Add to .gitignore
  • 这会导致 VS Code 重新读取 .gitignore 并刷新源代码管理侧栏中已更改文件的列表
  • .gitignore 中涵盖的所有以前未跟踪且显示为“已更新”的文件现在应该从源代码管理侧边栏中消失