Git的忽略文件

在项目开发中,经常需要忽略特定文件或目录以避免不必要的提交。通过创建`.gitignore`文件,我们可以定义规则来忽略这些文件。本文介绍了如何在Windows环境下通过Git Bash创建`.gitignore`文件,以及如何编写规则。例如,忽略css、js和images目录。创建js目录并提交后,根据设置的规则,这些被忽略的文件不会出现在远程仓库。

Git的忽略文件

场景:在项目目录下有很多万年不变的文件目录,列如:css,js,images等,或许还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档,此时我们就可以使用“忽略文件”机制来实现需求。

​忽略文件需要新建一个名为.gitignore的文件,该文件用于声明忽略或者不忽略文件的规则,规则对当前目录 及其子目录生效
注意:该文件因为没有文件名,无法直接在Windows目录下创建,可以通过命令行git bash 来touch创建

在这里插入图片描述

在withssh下创建js目录并提交

在这里插入图片描述

1.可以通过命令行git bash 来touch创建.gitignore的文件

在这里插入图片描述

2.编写文件中的规则

在这里插入图片描述

3.新增index文件,提交后远程仓库并没有

在这里插入图片描述

### 创建和配置 `.gitignore` 文件 要在 Git忽略特定文件文件类型,可以通过创建 `.gitignore` 文件并添加相应的规则来实现。`.gitignore` 文件通常位于项目根目录下,并且可以递归地影响所有子目录。 #### 忽略单个文件 如果需要忽略某个具体的文件,比如 `file_01.txt` 或 `file_02.txt`,可以在 `.gitignore` 文件中直接列出这些文件名: ``` file_01.txt file_02.txt ``` 这样,Git 将不再跟踪这些文件的变化[^3]。 #### 忽略某种类型的文件 若希望忽略某一类文件(例如所有 `.log` 文件),可以使用通配符 `*` 来匹配多个文件。例如,在 `.gitignore` 文件中添加以下内容以忽略所有 `.log` 文件: ``` *.log ``` 这将确保 Git 不会追踪任何扩展名为 `.log` 的文件[^5]。 #### 忽略特定目录下的文件 对于特定目录中的文件,如 `model/library/pubspec.lock`,可以指定路径进行忽略: ``` model/library/pubspec.lock ``` 或者,如果想忽略所有子目录下的 `pubspec.lock` 文件,可以使用通配符 `**/` 来表示任意层级的目录: ``` **/pubspec.lock ``` 此规则将应用于整个项目的任何位置出现的 `pubspec.lock` 文件[^4]。 ### 更新已提交文件的状态 如果你已经提交了某些文件到仓库,但后来决定要将其加入 `.gitignore`,你需要从 Git 的追踪记录中移除它们。为此,可以使用 `git rm --cached` 命令。例如,要移除一个特定的 `pubspec.lock` 文件而不删除本地副本,执行: ```bash git rm --cached model/library/pubspec.lock ``` 若需一次性移除所有 `pubspec.lock` 文件,则可以使用通配符: ```bash git rm --cached **/pubspec.lock ``` 完成上述操作后,再次提交更改: ```bash git commit -m "Remove tracked pubspec.lock files according to .gitignore" ``` 此时,这些文件应该不会再出现在 `git status` 的修改列表中[^4]。 ### 删除缓存并重新添加文件 有时,为了使新的 `.gitignore` 规则生效,可能需要先清除 Git 的缓存。可以通过以下命令来实现: ```bash git rm -r --cached . git add . git commit -m 'update .gitignore' ``` 这段代码首先删除了所有已被追踪的文件,然后重新添加所有未被 `.gitignore` 排除的文件,并提交更改。这样做有助于确保 `.gitignore` 中的新规则能够正确应用到整个项目中[^1]。 ### 示例 `.gitignore` 文件 下面是一个简单的 `.gitignore` 文件示例,它包含了常见的几种忽略规则: ``` # 忽略所有.log文件 *.log # 忽略特定文件 file_01.txt file_02.txt # 忽略特定目录下的文件 model/library/pubspec.lock # 忽略所有子目录下的.pub文件 **/*.pub ``` 通过这种方式,你可以根据自己的需求定制 `.gitignore` 文件,从而控制哪些文件文件夹应当被 Git 跟踪,哪些不应当[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unknown To Known

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值