我想gitignore文件夹中的子文件夹。 这是我当前的目录结构。
var
www
repo_name
.gitignore
README.md
vendors
vendor_a
vendor_b
vendor_c
我想忽略文件夹vendors
中的所有内容,但是当我在.gitignore
内编写此规则时,它会忽略vendors
文件夹本身。
#.gitignore
repo_name/vendors/
但是上面的规则忽略了文件夹vendors
,这不是我想要的。
答案 0 :(得分:0)
如果忽略文件夹vendors
内的所有内容,git将没有该文件夹存在的记录,因为git不会跟踪文件夹,除非是为了获取其中的跟踪内容。如果你想在新的结账时使用该文件夹,你必须使用post-checkout钩子来创建它,或者(强制地,git add -f
)跟踪其中的占位符文件 - 空{{1或许。
示范:
.gitignore
Git只关心$ git init
Initialized empty Git repository in ...
$ echo a/ >.gitignore
$ mkdir a
$ touch a/.gitignore
$ touch a/vendor{1,2,3}
$ git add -f a/.gitignore
$ git add .
$ git ls-files
.gitignore
a/.gitignore
$ git check-ignore -v a/vendor1
.gitignore:1:a/ a/vendor1
中的那个文件,除非你强迫它,否则不会再添加它。
答案 1 :(得分:-1)
尝试在最后添加*
:repo_name/vendors/*