首页 > git > faq > 6.Git忽略文件

6.Git忽略文件

不同的操作系统和工具会生成固定的目录.比如:Xcode生成的build目录, Android/IntelliJ 生成的.idea目录, node.js的node_modules目录等. 这些目录中的文件会经常修改,但不需要提交到Git上. 最好的办法是将这些文件和目录添加到git忽略列表中.

1 新建Git忽略列表文件.gitignore

Git将忽略文件规则存储在".gitignore"文件中, 需要在仓库目录下新建一个名为".gitignore"的文件.

1.1 下载.gitignore示例文件

可以直接下载一个示例文件, 在这个文件基础上修改.

.gitignore示例文件下载链接

1.2 手动创建.gitignore文件

因为该文件以"."开头,在windows系统不能直接创建.可以通过在项目目录中右键选择Git Bash, 通过linux命令行的方式来新建.gitignore文件.

输入:

touch .gitignore

如图: 6-1

.gitignore文件对其所在的目录及所在目录的全部子目录均有效.通过将".gitignore"文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。

2 Git忽略文件规则

2.1 以'#'开始被视为注释

# Android/IntelliJ

2.2 忽略指定文件名的文件

local.properties
dashidan.com

2.3 忽略指定后缀格式的文件

*.iml

2.4 例外文件

以"!"开始,表示不走忽略规则的文件.

!default.pbxuser

2.5 正则表达式匹配文件名

忽略所有.d.s文件

*.[ds]

3 Git忽略文件规则示例

这里提供一个".gitignore"文件内容示例,包含了常用的忽略内容.可以将这些内容直接粘贴到文件中,或者根具自己的需求修改.

# OSX
#
.DS_Store

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace

# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml

# node.js
#
node_modules/
npm-debug.log
yarn-error.log

# BUCK
buck-out/
\.buckd/
*.keystore

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots

4 将Git忽略文件提交

多人操作同一个Git库时, 来确保采用统一的文件忽略规则.

转载请保留原文链接.