詳解Github的.gitignore忽略文件+.gitignore不生效解決方案+生產配置大奉送


詳解Github的.gitignore忽略文件+.gitignore不生效解決方案+生產配置大奉送

 

Git中有一個非常重要的一個文件-----.gitignore

今天給大家免費送一個.gitignore忽略文件配置清單。

 

大家一定要養成在項目開始就創建.gitignore文件的習慣,否則一旦push,處理起來會非常麻煩。

 

============華麗的分割線============

當然如果已經push了怎么辦?當然也有解決方法,如下:

 

有時候在項目開發過程中,突然心血來潮想把某些目錄或文件加入忽略規則,按照上述方法定義后發現並未生效,原因是.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。那么解決方法就是先把本地緩存刪除(改變成未track狀態),然后再提交:

   --cached 后面 有個點

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

?

============華麗的分割線============



在版本管理的根目錄下(與.Git文件夾同級)創建一個  .gitignore(gitignore是隱藏文件,所以前面有個點)

創建命令:gitignore - Specifies intentionally untracked files to ignore

 

首先要強調一點,這個文件的完整文件名就是“.gitignore”,注意最前面有個“.”。這樣沒有擴展名的文件在Windows下不太好創建,這里給出win7的創建方法:創建一個文件,文件名為:“.gitignore.”,注意前后都有一個點。保存之后系統會自動重命名為“.gitignore”。一般來說每個Git項目中都需要一個“.gitignore”文件,這個文件的作用就是告訴Git哪些文件不需要添加到版本管理中。實際項目中,很多文件都是不需要版本管理的,比如Python的.pyc文件和一些包含密碼的配置文件等等。


 

應用實例(摘自互聯網)

          項目中有clist.h clist.c  main.c三個文件,編譯執行后,生成了三個文件  clist.o  main.o   main(執行文件)。這三個文件是不需要進行版本管理的,所以需要忽略這些文件,使用 git  stauts查看后,發現這三個文件也是處於 Untracked files狀態。而實際上我們是想忽略他。

 

使用gitignore文件來解決這個問題,步驟是:

 

[plain] view plain copy
 
  1. S1:      touch  .gitignore     #創建gitignore隱藏文件  
  2. S2:      vim    .gitignore     #編輯文件,加入指定文件  
  3.          #下面是我的gitignore文件的內容  
  4.          #忽略gitignore文件  
  5.          .gitignore  
  6.          #忽略后綴名為.o和.a的文件  
  7.          *.[oa]  
  8.          #顯示指定忽略名稱為main的文件  
  9.          main  

文件.gitignore的格式規范:
A:#為注釋   
B:可以使用shell所使用的正則表達式來進行模式匹配   
C:匹配模式最后跟"/"說明要忽略的是目錄 
D:使用!取反(例如目錄中包含  test.a,並且gitignore文件中包含  *.[oa],如果在文件中加入 !test.a   表明忽略除test.a文件以外的后綴名為.a或者.o的文件)

 

配置完.gitignore文件后,執行git status命令,會發現那三個文件不再是Untracked files了,也就完成了忽略指定文件的功能。

 

生產配置大奉送 

 

栗子
# 此為注釋 – 將被 Git 忽略
 
*.a       # 忽略所有 .a 結尾的文件
!lib.a    # 但 lib.a 除外
/TODO     # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目錄下的所有文件
doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt



.gitignore最強配置清單 如下:

 

/gradle/wrapper/gradle-wrapper.properties
##----------Android----------
# build
*.apk
*.ap_
*.dex
*.class
bin/
gen/
build/

# gradle
.gradle/
gradle-app.setting
!gradle-wrapper.jar
build/

local.properties

##----------idea----------
*.iml
.idea/
*.ipr
*.iws

# Android Studio Navigation editor temp files
.navigation/

##----------Other----------
# osx
*~
.DS_Store
gradle.properties

 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/u010566681/article/details/53183146


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM