Gitignore: 忽略所有 .vscode 目录,但包括顶层的 launch.json 文件。

6

我希望忽略我的代码库中可能出现的所有.vscode目录,除了顶层目录。在顶层目录中,我想要忽略除launch.json之外的所有文件。

我尝试过无数次:

**/.vscode/
!/.vscode/
/.vscode/*
!/.vscode/launch.json

**/.vscode/
!/.vscode/
!/.vscode/launch.json

**/.vscode/
!/.vscode/launch.json

**/.vscode/*
!/.vscode/launch.json

**/.vscode/
/.vscode/!launch.json
3个回答

10

我看到了这个回答,由于一些来源今天声称提交launch.json是一个好主意,我想提供正确的答案:

.vscode
!.vscode/launch.json

(您在感叹号后面添加了一个斜杠,因此该路径被视为绝对路径。)

3
如果你一直盯着这个东西想知道为什么它对你仍然不起作用,请确保你的 launch.json 没有被之前添加到源代码控制中。.gitignore 只能针对未跟踪的文件起作用 :) 如果它已经被跟踪了,请运行 git rm -r --cached .vscode/launch.json 并提交其删除。 - qslabs
不需要这个。只需将.vscode替换为./vscode/*./vscode/**,问题就会解决。 - undefined

8
我建议忽略所有这些目录:
.vscode/

然后手动跟踪您想要的文件

git add -f .vscode/launch.json
< p > -f参数允许添加被忽略的文件,一旦该文件被跟踪,忽略就不再生效。 Git 会检测到对.vscode/launch.json 的更改,并提示您像处理其他文件一样提交它们。


6

只需将以下两行添加到您的.gitignore文件中:

.vscode/*
!.vscode/launch.json

第一行表示,忽略 .vscode 文件夹及其下所有文件(在 / 之后使用 * 符号)。 第二行表示,在 .vscode 文件夹中排除(使用 !launch.json 文件。


1
这对我起作用了。添加斜线和星号就解决了问题。 - Moulde

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