當前位置:
首頁 > 知識 > 詳解Github的.gitignore忽略文件+.gitignore不生效解決+生產配置

詳解Github的.gitignore忽略文件+.gitignore不生效解決+生產配置

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

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

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

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

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

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

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狀態。而實際上我們是想忽略他。

詳解Github的.gitignore忽略文件+.gitignore不生效解決+生產配置

使用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了,也就完成了忽略指定文件的功能。

詳解Github的.gitignore忽略文件+.gitignore不生效解決+生產配置

生產配置大奉送

栗子

# 此為注釋 – 將被 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

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

解決複選框checkbox提交數據到後台獲取不到的問題
C++ 中 的用法

TAG:程序員小新人學習 |