git 设置 .gitignore文件注意事项
来源:互联网 发布:外国人看中国妹子知乎 编辑:程序博客网 时间:2024/06/10 11:42
git 设置 .gitignore文件注意事项
以下转自:http://blog.longwin.com.tw/2010/01/git-ignore-howto-set-zim-2010/
環境
- Git 所管理的專案名稱、位置: /home/user/doc
下述範例是以 Zim 為主, Zim 是一套桌面的 Wiki 編輯器, 裡面寫的內容都會存成 txt 檔, .zim的目錄下會存 "*.cache" 和 "zim 本身自己的設定值".
Zim 在剛開始建立完成後, 就使用下述步驟:
- cd /home/user/doc
- git init
- git commit -a
- git push #一開始沒有設定 .gitignore, 所以會將 .zim/* 都 commit 進去
於每次開啟 Zim 後, 都會出現
modified:
.zim/history.cache
modified:.zim/index.cache
造成 git commit -a 的麻煩 (因為多台電腦要同步時, index.cache / history.cache都會出現需要 merge 的狀況), 所以想設定 .gitignore 來把它拿掉. (方便 git commit -a)
設定 .gitignore 位置、方法
設定 Git ignore 的方式都一樣, 有下面幾個地方可以設定, 依自己喜好 / 需求來設定即可.(設定位置)
- vim ~/.gitignore # 對所有 Git 的專案生效 (自己的 home目錄下)
- vim doc/.gitignore # doc 是專案名稱, 用這個的好處是, 將.gitignore commit 進去, 此 .gitignore 可以隨著專案到處走. (Git 管理的 Project目錄下)
- vim doc/.git/info/exclude # 只有單獨於此處 .git 生效(Project 的 .git/info/exclude 檔案)
- 這幾個地方都可以設定, 可以使用 * 等符號. 詳可見: gitignore(5)Manual Page
於 .zim 的狀況, 可以設定下述: (設定方法)
- 所有 . 開頭的目錄 / 檔案都不 commit
.*
- .zim 目錄內 的 所有 *.cache 都不 commit
.zim/*.cache
- 只有 .zim/history.cache, .zim/index.cache 不commit
.zim/history.cache
.zim/index.cache
.gitignore 無法生效 的 問題修復
在測試狀況都是正常, 但是在 Zim 實際使用就有問題, 每次都出現 modified 的解法.
解法
- 因為第一次 commit 已經將 .zim/*.cache commit 進去了, 所以每次它都會去檢查, 造成都出現modified 的狀況.
- git rm -f .zim/history.cache
- git rm -f .zim/index.cache
- git commit # 即可
- 再將 .gitignore 設定好, 就可以避免掉這些狀況囉~
範例 -我的 Zim 設定方式
- cd /home/user/doc
- vim .gitignore
.zim/*.cache
- git add .gitignore
- git commit
- git push
git 创建 .gitignore 文件建立项目过滤规则
转自:http://hi.baidu.com/orangejackylee/item/d34091bc271844aaebba9377
创建 .gitignore 随意设置想跟踪哪些文件 和不跟踪哪些文件.
1.在项目根目录下建立 .gitignore 文件
2.
2.1开放模式负责设置过滤哪些文件和文件夹
eg:
过滤文件夹设置:
/mtk/
过滤文件设置
指定过滤某种类型的文件:
*.zip
*.rar
*.via
*.tmp
*.err
指定过滤某个文件:
/mtk/do.c
/mtk/if.h
2.2 b保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。
跟踪某个文件夹
!/plutommi/mmi
跟踪某类文件
!*.c
!*.h
跟踪某个指定文件
!/plutommi/mmi/mmi_features.h
3.配置.gitignore 的简易原则
采用共享模式与保守模式结合配置的办法。eg:一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,这样设置就可以满足这种情况,先用共享模式把整个目录 都设置为不跟踪,然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪,配置很简单,就可以跟踪想要跟踪的文件。
4.我做mtk项目用到的 .gitignore 文件的具体配置如下:
#######开放模式###########################
#
###############
/_souceInsight_/
/build/
/MoDIS/
/Doc/
/mtk_lib/
/scripts/
/header_temp/
/tools/AudioResGen/
/tools/GLBOptionSwtichRef/
/tools/GMSL/
/tools/MinGW/
/tools/MSYS/
/tools/NewMMIResourceTool/
/tools/NVRAMStatistic/
/tst/
/verno/
/plutommi/tool/
/plutommi/Customer/ResGenerator/
/plutommi/Customer/CustResource/
/plutommi/Customer/LcdResource/
/plutommi/Customer/Images/
/plutommi/mmi/Framework/EventHandling/EventsInc/mmi_menu_handlers.h
/vendor/font/MTK/official/project/plutommi/content/inc/
/vendor/font/MTK/official/project/plutommi/content/src/
###############
#
###############
.gitignore
*.exe
*.txt
*.def
*.dsp
*.lib
*.doc
*.dll
*.lnt
*.pm
*.xls
*.dbg
*.DBG
*.o
*.plg
*.keep
###############
#
###############
~*
*.log
*.cmm
*.men
*.ini
*.fig
*.cmp
*.tmp
###############
#
###############
*.bat
#########保守模式############
!/plutommi/Customer/CustResource/PLUTO_MMI/
!/plutommi/Customer/LcdResource/MainLcd128X160/
!/plutommi/Customer/Images/PLUTO128X160/image.zip
!/vendor/font/MTK/official/project/plutommi/content/inc/MainLcd128X160/
!/vendor/font/MTK/official/project/plutommi/content/src/MainLcd128X160/
- git 设置 .gitignore文件注意事项
- Git .gitignore注意事项
- .gitignore设置git忽略特殊文件
- git 创建 .gitignore 文件过滤规则及注意事项
- git中.gitignore设置
- Git忽略文件之设置全局gitignore规则文件
- git gitignore文件配置
- Git .gitignore文件忽略
- Git使用.gitignore文件
- git .gitignore文件
- git 忽略文件gitignore
- Git之.gitignore文件
- git 的gitignore文件
- git忽略文件.gitignore
- git的.gitignore文件
- Git忽略文件-gitignore
- git: .gitignore文件 (忽略文件)
- git版本管理 .gitignore设置
- apple沙盒研究之基础知识
- .PHONY makefile中的伪目标
- dsr-uu-0.2在linux2.6.32上编译问…
- VIM插件管理器之vundle
- maven学习系列7----将依赖依赖文件打包到jar中
- git 设置 .gitignore文件注意事项
- 预处理调试标志 -D
- win7下装debian6.0.5双系统
- 通知链
- 包含min函数的最小栈
- The journey of a packet through the linux 2.4network stack
- linux内核删除list_del()删除元素…
- ip层和4层的接口实现分析
- showdown.js使用示例(把markdown转化为html)