.gitignore 如何添加已经 commit 过的文件到不追踪规则中

.gitignore 我们都知道,是用来定义忽略规则的,管理当前文件夹下的文件的 Git 提交行为,例如通常 build 和 .idea 等目录就会出现在 .gitignore 文件中,因为这些文件都不需要同步到远端 Git 服务器,所以我们不需要追踪这些文件。有一种情况就是,我们已经已经把文件 commit 完并提交到 Git 服务器了,这时候如何再把这个文件添加到 .gitignore 呢?下面老王就分享下相关教程。

一、.gitignore 介绍与写法

.gitignore 简而言之就是用来定义忽略规则的,规定开发过程中 Git 不需要追踪哪些文件 / 文件夹的变化。

.gitignore 语法也很简单,可以添加文件,也可以添加文件夹,还支持通配符:

.DS_Store
*.log
*.temp
/vendor

我们在开发过程中,一般需要在 commit 前先创建 .gitignore 并定义好规则。

二、commit 后再修改 .gitignore

如果你已经把文件提交了,那么再加入 .gitignore 也是不生效的,因为 Git 服务器已经有这个文件了,所以默认就是会追踪这个文件的变化。这也是为什么很多人遇到的 .gitignore 不生效的原因。

今天老王在写一个东西时,就是 commit 完才发现忘记把 .DS_Store 这个文件加入 .gitignore 了,导致每次 git status 都会发现 .DS_Store 发生了变化。

下面就分享下,commit 后,如何把文件再次添加到 .gitignore 中,从 Git 远程库中删除,并在以后的提交中忽略,在本地保留这个文件

1、删除 track 的文件 (已经 commit 的文件)

git rm -r --cached xxx
git commit -a -m "删除不需要的文件"

2、在 .gitignore 文件中添加忽略规则

  1. 在 .gitignore 文件中添加 ignore 条目, 如: .DS_Store
  2. 提交 .gitignore 文件: git commit -a -m "添加ignore规则"

3、推送到远程仓库让 ignore 规则对于其他开发者也能生效

git push [remote]
赞(0)
关注我们
未经允许不得转载:老王博客 » .gitignore 如何添加已经 commit 过的文件到不追踪规则中

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址