Git的自定義和特殊文件配置

備注:

本文參考于廖雪峰老師的博客Git教程。依照其博客進(jìn)行學(xué)習(xí)和記錄,感謝其無私分享,也歡迎各位查看原文。

知識(shí)點(diǎn)

  • 配置Git顯示顏色git config --global color.ui true

  • .gitignore配置忽略文件,且要提交到版本庫

  • git add -f <file>,強(qiáng)制添加file,git check-ignore檢查忽略規(guī)則

自定義Git

在安裝Git時(shí),有對(duì)Git進(jìn)行全局配置,用戶名和郵箱(user.nameuser.email)
也可以配置其他選項(xiàng)

  • 配置Git顯示顏色
$ git config --global color.ui true

忽略特殊文件

實(shí)際開發(fā)中,總有一些特殊文件不能提交。比如保存了數(shù)據(jù)庫密碼的配置文件等。

但是這些文件創(chuàng)建后,在git status時(shí)會(huì)顯示Untracked files ...,而且不小心添加上后就會(huì)被提交。

.gitignore忽略文件

Git中,可以在Git工作區(qū)的根目錄下,創(chuàng)建一個(gè).gitignore文件,寫上需要忽略的文件名,Git就會(huì)自動(dòng)忽略這些文件。

關(guān)于不同語言和環(huán)境中推薦的忽略文件的配置,可以查看github項(xiàng)目gitignorehttps://github.com/github/gitignore 中示例。

忽略文件的原則是:

  1. 忽略操作系統(tǒng)自動(dòng)生成的文件,比如縮略圖等;

  2. 忽略編譯生成的中間文件、可執(zhí)行文件等,也就是如果一個(gè)文件是通過另一個(gè)文件自動(dòng)生成的,那自動(dòng)生成的文件就沒必要放進(jìn)版本庫,比如Java編譯產(chǎn)生的.class文件;

  3. 忽略帶有敏感信息的配置文件,比如存放口令的配置文件。

忽略文件示例

比如,忽略Windows下自動(dòng)生成的縮略圖文件,自定義目錄中的Desktop.ini文件,windows自動(dòng)生成的垃圾文件。

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

比如,忽略Python編譯產(chǎn)生的.pyc、.pyo、dist等文件或目錄

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

上面的文件,加上自定義的文件,就可以得到一個(gè)完整的gitignore文件

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

# My configurations:
db.ini
deploy_key_rsa
  • .gitignore文件提交到Git。

檢驗(yàn).gitignore的標(biāo)準(zhǔn)是git status命令是不是說working directory clean

使用Windows的童鞋注意了,如果你在資源管理器里新建一個(gè).gitignore文件,它會(huì)非常難以理解地提示你必須輸入文件名,但是在文本編輯器里“保存”或者“另存為”就可以把文件保存為.gitignore

此限制和問題,已經(jīng)在Win10最新版中不存在了。其他版本和更具體的版本號(hào)未測試

.gitignore文件查看和強(qiáng)制添加

  • 當(dāng)一個(gè)文件被.gitignore忽略后,便不能添加到git暫存區(qū)
$ git add App.class
The following paths are ignored by one of your .gitignore files:
App.class
Use -f if you really want to add them.
  • 強(qiáng)制添加忽略的文件

如Git提示,加上-f參數(shù),可以強(qiáng)制添加文件到Git

$ git add -f App.class
  • git check-ignore命令檢查忽略規(guī)則,從而修改規(guī)則
$ git check-ignore -v App.class
.gitignore:3:*.class    App.class

Git提示.gitignore的第3行規(guī)則忽略了該文件。

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

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

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