Github的.gitignore忽略文件

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


1、當(dāng)然如果已經(jīng)push了怎么辦?當(dāng)然也有解決方法,如下:

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

git rm -r --cached .

git add .

git commit -m 'update .gitignore'

?

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

創(chuàng)建命令:gitignore - Specifies intentionally untracked files to ignore

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

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

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

[plain] view plain copy

S1: touch .gitignore #創(chuàng)建gitignore隱藏文件

S2: vim .gitignore #編輯文件,加入指定文件

#下面是我的gitignore文件的內(nèi)容

#忽略gitignore文件

.gitignore

#忽略后綴名為.o和.a的文件

*.[oa]

#顯示指定忽略名稱為main的文件

main

文件.gitignore的格式規(guī)范:

A:#為注釋

B:可以使用shell所使用的正則表達(dá)式來進行模式匹配

C:匹配模式最后跟"/"說明要忽略的是目錄

D:使用!取反(例如目錄中包含 test.a,并且gitignore文件中包含 *.[oa],如果在文件中加入 !test.a 表明忽略除test.a文件以外的后綴名為.a或者.o的文件)

配置完.gitignore文件后,執(zhí)行g(shù)it status命令,會發(fā)現(xiàn)那三個文件不再是Untracked files了,也就完成了忽略指定文件的功能。

eg:

# 此為注釋 – 將被 Git 忽略

*.a ? ? ? ? ? ? ? ? ? ? ? ? # 忽略所有 .a 結(jié)尾的文件

!lib.a ? ? ? ? ? ? ? ? ? ? ?# 但 lib.a 除外

/TODO ? ? ? ? ? ? ? ? ? # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO

build/ ? ? ? ? ? ? ? ? ? ? ?# 忽略 build/ 目錄下的所有文件

doc/*.txt ? ? ? ? ? ? ? ? ?# 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt


3、 .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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 對于經(jīng)常使用Git的朋友來說,.gitignore配置一定不會陌生。廢話不說多了,接下來就來說說這個.gitign...
    張清柏閱讀 1,405評論 0 1
  • 有很多文件不必使用git管理。例如Eclipse或其他IDE生成的項目文件,編譯生成的各種目標(biāo)或臨時文件等。 使用...
    Ten_Minutes閱讀 2,239評論 0 4
  • 愛芒果的啊喵閱讀 286評論 0 1
  • 大林大娘家在我們家南邊兒,路對過往東一點兒,緊挨著一條往前街去的南北胡同,她家就在胡同西,頭一戶,大門朝北。 我很...
    丹鳳眼的貓閱讀 646評論 1 2

友情鏈接更多精彩內(nèi)容