我通常会这样做:
git init
git add .
git commit .
然后我意识到它即将添加我的nbproject目录,而我想要排除/忽略它。有时候,我甚至会检查这个目录。如果在运行git add之前将其添加到.git/info/exclude中,一切都正常(它被排除了)。
然后我修改了.git/info/exclude文件但为时已晚。git不再尊重对.git/info/exclude的更改。
所以问题是:
- 如何让git接受checkin中exclude文件的更改?(我尝试再次运行git add .,但没有帮助)
- 假设我要排除一个已经checkin的目录(或文件),最少需要多少步骤才能达到我想要的状态(文件被排除)。
rm -r --cached *.*
- Dan Rosenstarkgit reset
或git reset --mixed
不会和git rm --cached *.*
做同样的事情吗? - Dan Rosenstarkgit reset
将索引中的文件重置为HEAD状态;git rm --cached
从索引中删除文件,不会影响工作树中的文件。区别在于,如果您随后执行git commit
,则在重置后Git不会更改存储库中的文件,但在删除后,Git将从存储库中删除该文件。 - Greg Hewgill