Git忽略特殊文件

文章介绍了如何使用.gitignore文件来忽略Git工作目录中的特定文件,如包含敏感信息的配置文件或操作系统自动生成的文件。通过创建.gitignore文件并添加要忽略的文件模式,可以保持Git状态的整洁。GitHub提供了预定义的.gitignore模板供用户参考和使用。同时,文章还提到了如何处理被错误忽略的文件,以及如何在规则中添加例外,以确保.gitignore文件的有效性和灵活性。
摘要由CSDN通过智能技术生成

有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定不爽。

好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:GitHub - github/gitignore: A collection of useful .gitignore templates

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

举个例子:

假设你在Windows下进行Python开发,Windows会自动在有图片的目录下生成隐藏的缩略图文件,如果有自定义目录,目录下就会有Desktop.ini文件,因此你需要忽略Windows自动生成的垃圾文件:

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

然后,继续忽略Python编译产生的.pyc.pyodist等文件或目录:

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

加上你自己定义的文件,最终得到一个完整的.gitignore文件,内容如下:

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

# My configurations:
db.ini
deploy_key_rsa

最后一步就是把.gitignore也提交到Git,就完成了!当然检验.gitignore的标准是git status命令是不是说working directory clean

使用Windows的童鞋注意了,如果你在资源管理器里新建一个.gitignore文件,它会非常弱智地提示你必须输入文件名,但是在文本编辑器里“保存”或者“另存为”就可以把文件保存为.gitignore了。

有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了:

$ git add App.class
The following paths are ignored by one of your .gitignore files:
App.class
Use -f if you really want to add them.

如果你确实想添加该文件,可以用-f强制添加到Git:

$ git add -f App.class

或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查:

$ git check-ignore -v App.class
.gitignore:3:*.class	App.class

Git会告诉我们,.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。

还有些时候,当我们编写了规则排除了部分文件时:

# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class

但是我们发现.*这个规则把.gitignore也排除了,并且App.class需要被添加到版本库,但是被*.class规则排除了。

虽然可以用git add -f强制添加进去,但有强迫症的童鞋还是希望不要破坏.gitignore规则,这个时候,可以添加两条例外规则:

# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class

# 不排除.gitignore和App.class:
!.gitignore
!App.class

把指定文件排除在.gitignore规则外的写法就是!+文件名,所以,只需把例外文件添加进去即可。

可以通过https://gitignore.itranswarp.com在线生成.gitignore文件。

小结

  • 忽略某些文件时,需要编写.gitignore

  • .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

### 回答1: 要配置 Git 忽略文件,可以在项目根目录下创建一个名为 .gitignore 的文件,在该文件中列出需要被 Git 忽略文件或目录。例如,如果要忽略所有 .log 文件和 build 目录,可以在 .gitignore 文件中添加以下两行: ``` *.log build/ ``` 这样,在执行 Git 命令时,Git 将会忽略这些文件和目录。需要注意的是,一旦 Git 开始跟踪某个文件,它就不会再忽略文件,因此如果已经将某个文件添加到 Git 中,需要使用 Git 命令来从 Git 中删除该文件,并将其添加到 .gitignore 文件中。 ### 回答2: git ignore 文件是用来指示Git忽略特定文件或目录的配置文件。当我们在Git仓库中提交代码时,有些文件是不需要被纳入版本控制的,比如编译生成的中间文件、日志文件等。这时,我们就可以使用.gitignore文件来配置这些需要被忽略文件。 .gitignore文件是一个普通的文本文件,放置在Git仓库的根目录下。它的配置规则非常简单,每一行表示一个规则。每一行的规则可以是一个具体的文件或目录,也可以是一些通配符,如*表示匹配任意字符。 例如,假设我们想忽略所有的.class文件和.log文件,我们只需要在.gitignore文件中添加如下两行规则: *.class *.log 在我们执行Git操作,如git add、git commit等时,这些指定的文件就会被自动忽略,不会纳入到版本控制中。这样就避免了不必要的冲突和不必要的文件提交,保持了代码仓库的整洁和高效。 除了配置文件规则,.gitignore文件还可以包含一些特殊符号,如#表示注释,!表示取反等。我们可以通过这些特殊符号来进一步控制文件忽略规则。 总之,git ignore文件的配置非常简单,它可以帮助我们管理代码仓库,避免不必要的文件提交和冲突。通过合理配置.gitignore文件,能够提高代码开发的效率和维护的便捷性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智慧浩海

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

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

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

打赏作者

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

抵扣说明:

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

余额充值