Github使用.gitignore檔案忽略不必要上傳的檔案
(1).gitignore介紹
在工程實現過程中,會生成一些中間檔案,或者在專案中的部分檔案是不需要進行版本管理的。對於這些檔案應該對於Github來講是透明的。Github提供這種功能,可以自己指定哪些檔案可以不被管理。具體方法是在版本管理的根目錄下(與.git資料夾同級)建立一個 .gitignore(gitignore是隱藏檔案,所以前面有個點){在進行協作開發程式碼管理的過程中,常常會遇到某些臨時檔案、配置檔案、或者生成檔案等,這些檔案由於不同的開發端會不一樣,如果使用git add . 將所有檔案納入git庫中,那麼會出現頻繁的改動和push,這樣會引起開發上的不便。Git可以很方便的幫助我們解決這個問題,那就是建立專案檔案過濾規則。
我希望不加入git管理。 在程式碼目錄下建立.gitignore檔案:vim .gitignore ,內容如下: [plain] view plaincopy #過濾資料庫檔案、sln解決方案檔案、配置檔案 *.mdb *.ldb *.sln *.config #過濾資料夾Debug,Release,obj Debug/ Release/ obj/ 然後呼叫git add. ,執行 git commit即可。
}
方式一:
首先要強調一點,這個檔案的完整檔名就是“.gitignore”,注意最前面有個“.”。這樣沒有副檔名的檔案在Windows下不太好建立,這裡給出win7的建立方法:
建立一個檔案,檔名為:“.gitignore.”,注意前後都有一個點。儲存之後系統會自動重新命名為“.gitignore”。
一般來說每個Git專案中都需要一個“.gitignore”檔案,這個檔案的作用就是告訴Git哪些檔案不需要新增到版本管理中。
實際專案中,很多檔案都是不需要版本管理的,比如Python的.pyc檔案和一些包含密碼的配置檔案等等。
這個檔案的內容是一些規則,Git會根據這些規則來判斷是否將檔案新增到版本控制中。
下面我們看看常用的規則:
-
/mtk/ 過濾整個資料夾
-
*.zip 過濾所有.zip檔案
-
/mtk/do.c 過濾某個具體檔案
很簡單吧,被過濾掉的檔案就不會出現在你的GitHub庫中了,當然本地庫中還有,只是push的時候不會上傳。
需要注意的是,gitignore還可以指定要將哪些檔案新增到版本管理中:
-
!*.zip
-
!/mtk/one.txt
唯一的區別就是規則開頭多了一個感嘆號,Git會將滿足這類規則的檔案新增到版本管理中。
為什麼要有兩種規則呢?想象一個場景:我們只需要管理/mtk/目錄中的one.txt檔案,這個目錄中的其他檔案都不需要管理。那麼我們就需要使用:
-
/mtk/
-
!/mtk/one.txt
假設我們只有過濾規則沒有新增規則,那麼我們就需要把/mtk/目錄下除了one.txt以外的所有檔案都寫出來!
最後需要強調的一點是,如果你不慎在建立.gitignore檔案之前就push了專案,那麼即使你在.gitignore檔案中寫入新的過濾規則,這些規則也不會起作用,Git仍然會對所有檔案進行版本管理。
簡單來說,出現這種問題的原因就是Git已經開始管理這些檔案了,所以你無法再通過過濾規則過濾它們。
所以大家一定要養成在專案開始就建立.gitignore檔案的習慣,否則一旦push,處理起來會非常麻煩。
方式二:就是新建.gitignore然後再裡面宣告要忽略的資料夾或者檔案就可以了,不過麻煩又來了,因為是點開頭,沒有檔名,沒辦法直接在windows目錄下直接建立,必須通過右鍵Git Bash,按照linux的方式來新建.gitignore檔案。具體步驟如下: 1. 在需要建立 .gitignore 檔案的資料夾, 右鍵選擇 Git Bash 進入命令列,進入專案所在目錄。 2. 輸入 touch .gitignore 在資料夾就生成了一個“.gitignore”檔案。 然後在”.gitignore” 檔案裡輸入你要忽略的資料夾及其檔案就可以了。 3.然後用編輯器開啟這個檔案進行編輯就行了。如果你很牛,熟悉linux下的vi編輯的命令,也可以用命令來宣告規則額。在這裡就不說了額, 附: vi編輯器的怎麼換行呢? 總結:vi儲存退出命令x和wq的區別 蒐集:不會linux下vi命令,傷不起啊 4.然後就寫規則來操作要忽略的檔案了。.gitignore檔案過濾有兩種模式,開放模式和保守模式 4.1開放模式負責設定過濾哪些檔案和資料夾 eg: 過濾資料夾設定: /mtk/ 表示過濾這個資料夾 過濾檔案設定 指定過濾某種型別的檔案: *.zip *.rar *.via *.tmp *.err 指定過濾某個檔案: /mtk/do.c /mtk/if.h 4.2 b保守模式負責設定哪些檔案不被過濾,也就是哪些檔案要被跟蹤。 跟蹤某個資料夾 !/plutommi/mmi 跟蹤某類檔案 !*.c !*.h 跟蹤某個指定檔案 !/plutommi/mmi/mmi_features.h 4.3.配置.gitignore 的簡易原則 採用共享模式與保守模式結合配置的辦法。eg:一個資料夾下有很多資料夾和檔案,而我只想跟蹤其中的一個檔案,這樣設定就可以滿足這種情況,先用共享模式把整個目錄 都設定為不跟蹤,然後再用保守模式把這個資料夾中想要跟蹤的檔案設定為被跟蹤,配置很簡單,就可以跟蹤想要跟蹤的檔案。方式三:
.gitignore 配置檔案用於配置不需要加入版本管理的檔案,配置好該檔案可以為我們的版本管理帶來很大的便利,以下是個人對於配置 .gitignore 的一些心得。
1、配置語法:
以斜槓“/”開頭表示目錄;
以星號“*”通配多個字元;
以問號“?”通配單個字元
以方括號“[]”包含單個字元的匹配列表;
以歎號“!”表示不忽略(跟蹤)匹配到的檔案或目錄;
此外,git 對於 .ignore 配置檔案是按行從上到下進行規則匹配的,意味著如果前面的規則匹配的範圍更大,則後面的規則將不會生效;
2、示例:
(1)規則:fd1/*
說明:忽略目錄 fd1 下的全部內容;注意,不管是根目錄下的 /fd1/ 目錄,還是某個子目錄 /child/fd1/ 目錄,都會被忽略;
(2)規則:/fd1/*
說明:忽略根目錄下的 /fd1/ 目錄的全部內容;
(3)規則:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
說明:忽略全部內容,但是不忽略 .gitignore 檔案、根目錄下的 /fw/bin/ 和 /fw/sf/ 目錄;
方式四:# cat .gitignore
*.[oa]
*~
第一行告訴 Git 忽略所有以 .o 或 .a 結尾的檔案。一般這類物件檔案和存檔檔案都是編譯過程中出現的,我們用不著跟蹤它們的版本。第二行告訴
Git 忽略所有以波浪符(~)結尾的檔案,許多文字編輯軟體(比如 Emacs)都用這樣的檔名儲存副本。此外,你可能還需要忽略 log,tmp 或者 pid 目錄,以及自動生成的文件等等。要養成一開始就設定好 .gitignore 檔案的習慣,以免將來誤提交這類無用的檔案。檔案 .gitignore 的格式規範如下:
- 所有空行或者以註釋符號 # 開頭的行都會被 Git 忽略。
- 可以使用標準的 glob 模式匹配。
- 匹配模式最後跟反斜槓(/)說明要忽略的是目錄。
- 要忽略指定模式以外的檔案或目錄,可以在模式前加上驚歎號(!)取反。
我們再看一個 .gitignore 檔案的例子:
# 忽略所有 .a 結尾的檔案
*.a
# 但 lib.a 除外
!lib.a
# 僅僅忽略專案根目錄下的 TODO 檔案,不包括 subdir/TODO
/TODO
# 忽略 build/ 目錄下的所有檔案
build/
# 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
其他資訊可以直接 man gitignore 檢視。相關推薦
Github使用.gitignore檔案忽略不必要上傳的檔案
(1).gitignore介紹 在工程實現過程中,會生成一些中間檔案,或者在專案中的部分檔案是不需要進行版本管理的。對於這些檔案應該對於Github來講是透明的。Github提供這種功能,可以自己指定哪些檔案可以不被管理。具體方法是在版本管理的根目錄下(與.git資料夾同
Visual Studio使用Git忽略不想上傳到遠端倉庫的檔案
前言: 作為一個.NET開發者而已,有著宇宙最強IDE:Visual Studio加持,讓我們的開發效率得到了更好的提升。我們不需要擔心環境變數的配置和其他程式碼管理工具,因為VS有豐富的拓展工具。廢話不多說,直接進入正題。我們日常在使用VS開發相關的.NE
idea中使用.ignore外掛忽略不必要提交的檔案
1、File->Settings 2、在左側選單找到Plugins,點選Browse repositories 3、搜尋.ignore,點選Install 安裝後重啟 4、在model上右鍵->New ->.ignore file ->.gi
如何在IntelliJ IDEA中使用.ignore外掛忽略不必要提交的檔案
最近初學Git,而且在使用的IDE是IntelliJ IDEA,發現IDEA在提交專案到本地倉庫的時候,會把.idea資料夾中的內容也提交上去,這裡面放的是一些專案的配置資訊,包括歷史記錄,版本控制資訊等。可以不傳到Git上面去。 這個時候就需要編寫.giti
IE input file隱藏不能上傳檔案解決方法
轉載至:http://www.qttc.net/201305334.html 又是IE的一個問題,近來是跟IE瀏覽器磕上了,這個問題發現不少人也遇到過,實在蛋疼。但今天這個不能算是一個bug,因為IE可能是從安全形度上考慮結果導致的。一步步來解讀。 普通上
IntelliJ IDEA中使用.ignore外掛忽略不必要提交的檔案
安裝外掛.ignore 在IDEA開發工具中,點選“Settings”工具圖示,找到“Plugins”,在搜尋框中輸入.ignore查詢外掛,找到後點擊“Install”進行安裝,安裝完成後,需要重
Eclipse下使用git時利用.gitignore檔案忽略不想提交的檔案
背景:在使用git提交時,由於會有一些檔案不想上傳,如log檔案,maven產生的mvn等,傳了沒有用還影響美觀,所以需要使用.gitignore檔案忽略不想提交的檔案或資料夾。 正文: 1. .gitignore檔案怎麼建立呢?有的小夥伴發現自己專案的根目錄下是有這
idea 如何優雅的新增.ignore 忽略不必要提交的檔案
http://blog.csdn.net/lafengwnagzi/article/details/77980092最近有點時間然後就跑去搜了下idea熱門的外掛,一不小心發現了一個.ignore外掛。有過在idea使用git都知道.gitignore檔案,而這個外掛就是能優
IDEA忽略不必要提交的檔案
使用的IDE是IntelliJ IDEA,發現IDEA在提交專案到本地倉庫的時候,會把.idea資料夾中的內容也提交上去,這裡面放的是一些專案的配置資訊,包括歷史記錄,版本控制資訊等。可以不傳到Git上面去。 這個時候就需要編寫.gitignore檔案來忽略提交這些檔案。在I
在IntelliJ IDEA中使用.ignore外掛忽略不必要提交的檔案
最近初學Git,而且在使用的IDE是IntelliJ IDEA,發現IDEA在提交專案到本地倉庫的時候,會把.idea資料夾中的內容也提交上去,這裡面放的是一些專案的配置資訊,包括歷史記錄,版本控制資訊等。可以不傳到Git上面去。 這個時候就需要編寫.gitignore檔案來忽略提交這些檔案。在IDEA中有
SELinux限制導致VSFTP匿名使用者不能上傳檔案問題解決方法
確保其它配置正確,還不能上傳,就是SELinux的限制; 解決步驟: getsebool -a | grep ftp //列出ftp的相關規則布林值開啟狀態 set
django 基於form表單上傳檔案和基於ajax上傳檔案
一、基於form表單上傳檔案 1、html裡是有一個input type="file" 和 ‘submit’的標籤 2、vies.py def fileupload(request): if request.method == 'POST': print(request.P
bootstrap-fileinput上傳完檔案後再開啟上傳檔案介面顯示取消按鈕
Bootstrap File Input是一款基於bootstrap框架的html5上傳檔案外掛,具體展示效果如下: 使用時常見配置如下: $(".multipleFileUpload").fileinput({ &n
Vue.js下載檔案及判斷上傳檔案型別,獲取上傳檔案大小
目錄 下載檔案 方法一 方法二 方法三 1.程式碼 1.程式碼 1.程式碼 下載檔案 所用的瀏覽器:Google Chrome 方法一 功能:點選匯出按鈕,提交請求,下載excel檔案; 1.跟後端
[置頂]關於使用input type=file 標籤上傳檔案的注意細節(上傳檔案 無法獲取檔案 問題)
首先確定服務端使用的是C#。其他語言我沒測試 第一、建立一個form,就像這樣 <form method="post" enctype="multipart/form-data" action=
如何建立.gitignore檔案,忽略git不必要提交的檔案
1、在需要建立 .gitignore 檔案的資料夾, 右鍵選擇Git Bash 進入命令列,進入專案所在目錄。 2、輸入 touch .gitignore ,生成“.gitignore”檔案。 3、在”.gitignore” 檔案裡輸入你要忽略的資料夾及其檔案就可以了。(注意格式) 我的
處理GitHub不允許上傳大於100M檔案問題
轉載地址:http://www.cnblogs.com/qmmq/p/4604862.html 同樣是記錄一下自己工作遇到的問題,免得下次再遇到了還到處網上查資料解決。 自己的專案的版本控制用的是Git,程式碼倉庫在github託管。專案裡用到了百度導航SDK,由於百
GitHub上傳檔案不能超過100M的解決辦法
上傳專案到GitHub上,當某個檔案大小超過100M時,就會上傳失敗,因為預設的限制了上傳檔案大小不能超過100M。如果需要上傳超過100M的檔案,就需要我們自己去修改配置。 首先,開啟終端,進入專案所在的資料夾; 輸入命令:git config http.
git 建立.gitignore忽略不必要的檔案
問題: 建立java專案,使用git提交,有時需要忽略不必要的檔案或資料夾,只保留一些基本。 例如maven建立好後,實際開發中我們只需提交:src,.gitignore,pom.xml等檔案 但是有些則不必要提交,如maven專案的target資料夾等等 解決方法:
在GitHub建立倉庫並上傳檔案
1.首先建立github賬號 2.安裝git 3.配置ssh-key: 用git base命令列生成ssh-key,輸入ssh-keygen -t rsa //一路回車下來,會得到下面的畫面: 4.在github網站上配置ssh-key: