Github(Gitee)之 建立 .gitignore 文件 屏蔽一些文件上传,不上传自己不需要的文件或者文件夹
目录
Github(Gitee)之 建立 .gitignore 文件 屏蔽一些文件上传,不上传自己不需要的文件或者文件夹
一、简单介绍
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
本节介绍,在使用Github 上传代码的时候,怎么把不需要的代码不进行上传,只上传自己需要的代码。
二、使用原理
1、创建 .giignore 文件
2、在 .giignore 文件 上添加自己要屏蔽的文件和文件夹的语法代码
3、这时候上传代码,就不会上传 .giignore 文件 涉及的文件或者文件夹
三、相关知识说明
1、忽略文件原则
忽略操作系统自动生成的文件,比如缩略图等;
忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
2、语法规范(熟悉正则很容易理解)
-
空行或是以#开头的行即注释行将被忽略;
-
以斜杠 “/” 结尾表示目录;
-
以星号 “*” 通配多个字符;
-
以问号 “?” 通配单个字符
-
以方括号 “[]” 包含单个字符的匹配列表;
-
以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录;
-
可以在前面添加斜杠 “/” 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。
3、配置文件示例
# 忽略 .a 文件
*.a
# 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a
# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO
# 忽略 build/ 文件夹下的所有文件
build/
# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
四、实现步骤
1、首要前提是安装好了Git,有项目,并建立有 git (git init 可以本地添加git关联)关联,然后 vim .gitignore 或者 gedit .gitignore 创建 .gitignore 文件
2、然后会自动跳到文件编辑
3、编辑相关需要屏蔽的信息,或者参考网上的也可以,然后 (:wq)保存,并退出编辑
4、.gitignore 文件就创建出来了,之后正常上传代码即可,就会屏蔽一些 .gitignore 的文件或者文件夹
五、gihub 参考 .gitigonre 文件模板
GIthub 网上的各种语言 .gitigonre 的模板库:https://github.com/github/gitignore
下面是Unity的参考 .gitigonre :
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
/[Pp]ackages/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*