为什么git忽略my / bower_components文件夹?它将提交/ bower_components / bootstrap,但没有文件夹内容或bower_components中的任何其他文件夹。
git add --all
git commit -m "adding bootstrap"
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
git clean -ndX
Would remove App_Data/packages/NoGit.0.0.8/node_modules/nogit/node_modules/globa
l-tunnel/node_modules/
dir bower_components
Volume in drive C is BOOTCAMP
Volume Serial Number is 28B2-7D02
Directory of c:\Projects\Blog6\Publish\Latest\bower_components
10/31/2014 10:00 PM <DIR> .
10/31/2014 10:00 PM <DIR> ..
10/31/2014 10:00 PM <DIR> angular
10/31/2014 10:00 PM <DIR> angular-route
10/31/2014 10:46 PM <DIR> bootstrap
...
我创建了自己的.gitignore文件,只是为了看看它是否有助于解决这个问题。但它没有。
# Compiled source #
###################
*.com
*.pdb
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
*.sql
*.sqlite
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
答案 0 :(得分:4)
我会猜测除了bootstrap
之外,bower_components
下的所有文件夹中都没有任何文件(即使你进入他们的子文件夹 - 你也只能找到其他文件夹)文件夹,没有文件)。
Git无法跟踪文件夹 - 仅限文件。项目的文件夹结构是从它跟踪的文件派生出来的 - 所以如果它跟踪了一个名为foo/bar
的文件,它知道创建foo
目录,这样就可以将bar
放入其中,但是如果foo
为空,Git会忽略它。
如果您有一些空目录,无论出于什么原因必须是存储库的一部分,那么约定是在其中放置一个名为.gitkeep
的空文件。