Git忽略特殊文件

这篇具有很好参考价值的文章主要介绍了Git忽略特殊文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有些时候,你必须把某些文件放到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做版本管理!文章来源地址https://www.toymoban.com/news/detail-439825.html

到了这里,关于Git忽略特殊文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot启动忽略某些类

    目前我这的开发环境和测试环境数据库是两份,但是其他如 kafka 、 redis 、 eureka 等等之类的,都是公用的。 这就会产生一个问题,我想本地跑单元测试,但是 kafka 消费到了测试环境的数据,然后异常重试又发送了延迟队列(我这里的延迟队列是基于kafka实现的),然后被测试环

    2024年02月13日
    浏览(27)
  • Git忽略已经提交过一次的文件 Git忽略文件

    1、从未提交过的文件可以用.gitignore      也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件  该文件只能作用于未跟踪的文件(Untracked Files),也就是那些从来没有被 git 记录过的文件  比如,忽略配置文件,可以在.gitignore中写 2、已经推送(p

    2024年02月12日
    浏览(48)
  • git提交代码设置某些文件不可上传

    合作开发vue项目时,发现使用git提交代码时,由于部分人员习惯把所有变更的代码都提交上去,导致一些特殊文件老是出现合并冲突,从而大大增加合并代码的工作量。 那如何设置git提交时忽略某些特殊文件,设置某些文件不可以提交呢? 可以通过项目根目录下的 .gitignor

    2024年02月12日
    浏览(64)
  • git删除历史提交中的某些文件

    要从所有提交中删除PDF文件并保留本地文件,你需要使用 git filter-repo 命令或 git filter-branch 命令来重写历史。请注意,这将修改提交历史,因此需要小心操作,确保在执行之前备份数据。 以下是使用 git filter-repo 命令的示例,假设要删除所有PDF文件: 如果你要删除多个文件,

    2024年02月14日
    浏览(60)
  • Git忽略文件的几种方法,以及.gitignore文件的忽略规则

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。 规则作用示例: /mtk:过滤整个文件夹; *.zip:过滤所有.zip文件; /mtk/do.c:过滤某个具体文件; !/mtk/one.txt:追踪(

    2024年02月11日
    浏览(53)
  • git怎么忽略无需提交的文件?(忽略提交 .gitignore)

    问题描述 : 在使用Git的过程中,我们有的文件比如target、.idea等不想提交到代码仓库,但如果这些文件没有被添加到暂存区区,切换分支会报Move or commit them before Pull git的错误(如下图),我们应该怎么解决呢? 解决方法: 1.在跟目录下(与src同级)创建 .gitignore 文件,这

    2024年02月12日
    浏览(71)
  • Git 忽略指定文件或文件夹

    1. 在.gitignore中添加忽略的文件 2. 然后在该目录执行  注意: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。  

    2024年02月11日
    浏览(58)
  • 代码仓库必知:git忽略文件规则。问题解决: gitignore文件没有忽略某个文件,就是提交不了

    问题背景 假设我的文件叫a.tsx,在 git status 时检测不到它的改动记录,并且 git commit 不了! 强制推才可以。这样会影响开发进度,因为我们经常需要提交代码,但是不一定记得强推,这样代码就会丢失。只在本地可以运行,远程仓库并没有。 在VSCode 编辑器的左侧文件栏中,

    2024年02月10日
    浏览(61)
  • Git 忽略文件大小写

    ⏹ 遇到的情况 git提交文件的时候,默认是 不区分 大小写更改的, 这样会导致修改文件名大小写后,git提交不生效,导致代码运行失效。 也就是说默认情况下,在Git看来 SEB001.java 和 seb001.java 其实是一个文件 ⏹ 解决 使用如下命令行忽略大小写即可。 git config core.ignorecase

    2024年02月08日
    浏览(62)
  • git配置忽略某个文件提交

    git 配置忽略文件    在使用使用git对代码进行管理的时候,总会有一些文件不需要提交到代码库中,比如.calss 文件、临时文件、配置文件等(如图 .ieda 和gittest.iml)。我们就可以通过给git配置,让其在每次给代码库提交代码时忽略这些文件。 1、在根目录下创建 *.ignore 的文

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包