2017-09-06 56 views
3

我有一个.gitignore文件看起来像这样:Git是忽略一个文件中的子目录

* 
!/src 
!/resources 
!/.gitignore 
!/package.json 
!/tsconfig.json 
!/README.md 

我在src文件夹src/config/mongo.ts添加文件到子目录。然而,当我尝试添加文件时,它没有得到补充说:

git add -A 

我试图改变第二线以下每个:

!/src/ 
!/src/* 
!/src/**/* 

但是它仍然不添加文件。

我也曾尝试直接添加文件:

git add src/config/mongo.ts 

但我得到以下信息:

以下路径是由您的.gitignore文件中的一个被忽略: 的src /配置/mongo.ts

git status只显示.gitignore文件已被更改。不知道该怎么做才能做到这一点。

我想:

  • 首先排除一切*
  • 然后包括在src目录一切(及其子目录)
  • 然后包括在resources目录(及其子目录)一切
  • 然后包括列出的根文件
+0

你问不了的事,但也可能有帮助:https://stackoverflow.com/q/19023550/2988730 –

回答

3

这个人是一个棘手的一个尝试这些线,带我永远搞清楚,当我最初跑了进去。

你只需要稍微软化初步排除:

/* # instead of just * 
+0

就是这样! 'git status'也可以找到2个其他文件 –

1

src文件夹及其子目录被git忽略

如果你想添加特定的文件。尝试

git add --force <file-path> 

或gitignore

/* 
!/src 
/src/* 
!/resources 
!/.gitignore 
!/package.json 
!/tsconfig.json 
!/README.md 
!/src/config 
+0

'git的add'已经ISN没有工作,这是问题的关键。 –

+0

你尝试强制加入? git add --force

+2

@AuuragMeena不强制任何东西,这是一个不好的做法。 –