Github(Gitee)之 建立 .gitignore 文件 屏蔽一些文件上传,不上传自己不需要的文件或者文件夹

 

 

Github(Gitee)之 建立 .gitignore 文件 屏蔽一些文件上传,不上传自己不需要的文件或者文件夹

 

目录

Github(Gitee)之 建立 .gitignore 文件 屏蔽一些文件上传,不上传自己不需要的文件或者文件夹

一、简单介绍

二、使用原理

三、相关知识说明

1、忽略文件原则

2、语法规范(熟悉正则很容易理解)

3、配置文件示例

四、实现步骤

五、gihub 参考 .gitigonre 文件模板


 

一、简单介绍

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/*

 

猜你喜欢

转载自blog.csdn.net/u014361280/article/details/106698832
今日推荐