我的.gitignore文件里面有以下一条记录
//override文件夹里面的内容不忽略,记录下来
!override/
但.gitignore不知道为毛不记录override/classes/ 文件夹下面的所有修改(其他subfolder的修改都记录了),导致其中新创建的类都无法被track到。
我想在.gitignore里面添加一行,类似
//override文件夹里面的内容不忽略,记录下来
!override/
!override/classes/
应该如何告诉git,我更新.gitignore文件了,现在把原来没有track的override/classes/ 文件夹下面的内容重新track一下?
感谢各位git高人指点。
2
superalsrk 2015-04-20 02:37:40 +08:00
额。难道是说 git add . 么。。
|
3
xiparos OP @msg7086 非常感谢,我现在知道应该怎么写.gitignore里面的规则了。
但问题是,我重新定义了规则之后,怎样告诉git:我的.gitignore已经更新了,现在把原来没有track到的文件track一下? PS:不会是我重新定义了.gitignore之后,我直接git status,原来没有track的都自动track了吧。。 |
4
msg7086 2015-04-20 22:37:24 +08:00
你需要手动 git add 吧。
|
5
xiparos OP 确认是修改完.gitignore,git根据新添加的rules自动track相关的文件
好吧,但我看到了stackoverflow上面说 If you exclude application/, then everything under it will always be excluded (even if some later negative exclusion pattern (“unignore”) might match something under application/). 如果是这样的话,我终于知道为毛我的 override/ !override/classes 不起作用了,我在随后的N行之后发现了下面这样一条规则: override/classes/*.php。。。那么不论我再怎么添加!xxx规则都无效了。。 好吧,我很弱,想问问如果在这种情况下,我想重新制定一下.gitignore规则,为了可以track所有我想要的文件,那么我是不是应该要 1. 备份一下project和.git文件夹,保留所有原来的git history。 2. 在新的project里面删除.git文件夹,添加新的.gitignore文件,然后重新git init一下,相当于另起炉灶,然后接着commit那些原来不曾track到得文件? 恳请git高手给个意见指导,谢谢大家 |
6
xiparos OP 我在想这时候是不是应该 git rm -r --cached .出场的时候了?
|