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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章