如果您想忽略以特定单词开头的任何文件或目录,该怎么办?
假设您希望忽略所有名称以img开头的文件和目录 。要做到这一点,你需要指定你想要忽略的名称,后面跟着*通配符选择器,就像这样:
>img*该命令将忽略所有名称以img
开头的文件和目录 。
但是,如果您想忽略任何以特定单词结尾的文件或目录,该怎么办呢?
如果希望忽略以特定文件扩展名结尾的所有文件,则需要使用*
通配符选择器,后面跟着要忽略的文件扩展名 。
例如,如果你想忽略所有以.md
文件扩展名结尾的markdown文件,你可以在.gitignore
文件中添加以下内容:
>*.md该模式将匹配项目中任何以.md
扩展名结尾的文件 。
前面介绍了如何忽略以特定后缀结尾的所有文件 。如果您想要做一个例外,并且有一个带有该后缀的文件不想忽略,会发生什么情况呢?
假设你在.gitignore
文件中添加了以下内容:
.md该模式忽略所有以.md
结尾的文件,但您不希望Git忽略README.md
文件 。
要做到这一点,您需要使用带有感叹号的否定模式,!
,来使该文件失效,否则该文件将会被忽略:
# ignores all .md files.md# does not ignore the README.md file!README.md对于.gitignore
文件中的这两种模式,所有以.md
结尾的文件都会被忽略,除了README.md
文件 。
要注意的是,如果忽略整个目录,此模式将不起作用 。
假设你忽略了所有的测试目录:
test/
假设在一个测试文件夹中,有一个文件,例如.Md
,你不想忽视的 。
你不能像这样对一个被忽略的目录中的文件进行否定:
# ignore all directories with the name testtest/# trying to negate a file inside an ignored directory won't work!test/example.md如何忽略之前提交的文件
最好的做法是创建一个.gitignore文件,其中包含创建新存储库时要忽略的所有文件和不同的文件模式——在提交之前 。
Git只能忽略尚未提交到存储库的未跟踪文件 。
如果您在过去已经提交了一个文件,但希望没有提交该怎么办?
假设您不小心提交了一个存储环境变量的.env
文件 。
你首先需要更新.gitignore
文件以包含.env
文件:
【git中 gitignore 忽略文件操作】# add .env file to .gitignoreecho ".env" >> .gitignore现在,你需要告诉Git不要跟踪这个文件,把它从索引中删除(如果是文件夹需要添加-r
选项):
git rm --cached .envgit rm
命令和--cached
选项一起从存储库中删除文件,但不删除实际的文件 。这意味着该文件作为一个被忽略的文件保留在您的本地系统和工作目录中 。
git status
将显示该文件已不在存储库中,而输入ls
命令将显示该文件存在于本地文件系统中 。
如果希望从存储库和本地系统中删除文件,请忽略--cached
选项 。
接下来,使用git add
命令将.gitignore
添加到暂存区:
git add .gitignore最后,使用git commit
命令提交.gitignore
文件:
git commit -m "update ignored files"
经验总结扩展阅读
- 2023年10月13日走亲访友行吗 2023年10月13日走亲访友好不好
- 一斤糖蒜的糖和醋比例
- 2023年10月13日走亲戚行吗 2023年10月13日是走亲戚吉日吗
- 2023年10月13日旅游黄道吉日 2023年10月13日旅游行吗
- 2023年10月13日是游玩吉日吗 2023年10月13日游玩吉日一览表
- 2023年10月13日踏青好吗 2023年10月13日是踏青吉日吗
- 2023年10月13日坐游轮行吗 2023年10月13日是坐游轮吉日吗
- 2023年10月13日是坐邮轮吉日吗 2023年10月13日坐邮轮行吗
- 2023年10月13日是出海打鱼吉日吗 2023年10月13日出海打鱼黄道吉日
- 2023年10月13日适合放羊吗 2023年10月13日放羊好吗