git忽略某些子目录/文件夹及其内容

git忽略某些子目录/文件夹及其内容,git,ignore,Git,Ignore,我有以下目录结构: ls -l experiment/ foo.sh gen__20190425_144843 gen__20190425_144854 bar.yml 其中gen_u__;是文件夹 如何将.gitignore文件写入: 跟踪foo.sh和bar.yml 而不是跟踪所有的gen_u__;文件夹 我已经尝试过了,但不起作用(仍然跟踪gen文件夹) 正如评论所示,我最终使用了以下内容: experiment/gen__*/* !experiment/foo.sh !exper

我有以下目录结构:

ls -l experiment/

foo.sh
gen__20190425_144843
gen__20190425_144854
bar.yml
其中gen_u__;是文件夹

如何将.gitignore文件写入:

  • 跟踪foo.sh和bar.yml
  • 而不是跟踪所有的gen_u__;文件夹
我已经尝试过了,但不起作用(仍然跟踪gen文件夹)


正如评论所示,我最终使用了以下内容:

experiment/gen__*/*
!experiment/foo.sh
!experiment/bar.yml
重要的是使用裸目录名

  • 正确:
    实验/
  • 不正确:
    /experiment/

实验/gen.*
应该足够了,如下例所示:

~$mkdir测试
约$cd试验
~/test$git init
已在/home/mh/test/.Git中初始化空Git存储库/
~/test$touch foo.sh
~/test$touch bar.yml
~/test$mkdir gen\uu 20190425\u 144843
~/test$touch gen\u 20190425\u 144843/1
~/test$touch gen\u 20190425\u 144843/2
~/test$mkdir gen\uu 20190425\u 144854
~/test$touch gen\u 20190425\u 144854/3
~/test$touch gen\u 20190425\u 144854/4
~/test$tree
.
├── 巴
├── 福什
├── gen__20190425_144843
│   ├── 1.
│   └── 2.
└── gen__20190425_144854
├── 3.
└── 4.
2个目录,6个文件
~/test$git状态
论分行行长
还没有承诺
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
巴
福什
gen__20190425_144843/
gen__20190425_144854/
提交时未添加任何内容,但存在未跟踪的文件(使用“git add”跟踪)
~/test$echo“gen\uux*”>。gitignore
~/test$cat.gitignore
根__*
~/test$git状态
论分行行长
还没有承诺
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
.gitignore
巴
福什
提交时未添加任何内容,但存在未跟踪的文件(使用“git add”跟踪)

是否已跟踪gen文件?您需要将它们从git中删除
git rm-r——缓存。
然后将所有内容添加回
git add。
否gen文件夹不会被跟踪@encryptedwatermelon,除非您将所有内容列入
*
黑名单。你所需要的就是
实验性的/gen.*
你试过了吗/experience/gen__*
experiment/gen__*/*
!experiment/foo.sh
!experiment/bar.yml