iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 12
1
自我挑戰組

Ruby菜鳥村村民遊記系列 第 12

遊記ep.12 外傳的Git村

本來今天應該是要續寫 多 對 多的關聯性,
不過今天身體實在欠安 Orz
剛好今天寫專案也遇到一個狀況,就當作分享。
頭痛欲裂,所以若有詞不達意的部分,還請多包涵。

今天剛好專案在建構 Recaptcha 的功能,
在申請這項服務的同時,也會得到一把金鑰,
有金鑰的關係,我們必須做一些資安上的處理,
至少不能大喇喇的把金鑰放在 GitHub 上頭供人認取 XD,
但若沒有做一些手腳的話,當我們把整個專案 push 到 GitHub的時候,
整個檔案還是會讓人一覽無遺,
所以我們必須要使用 .gitignore 這個檔案來幫助我們,
從檔名也應該猜得到,這似乎是要讓 git 忽略掉的名單?
沒有錯!就好像死亡筆記本一樣,寫在上面的檔案都無一避免,會被 git 忽略,
push 的時候也就不會把該標記的檔案上傳了。
我們來看看用法吧~

/db/*.sqlite3 #所有在 db 資料夾下的 只要副檔名為 .sqlite3 的檔案通通忽略
/.bundle # 忽略副檔名為 .bundle 的檔案
/log/* # 忽略所有log資料下的檔案
123.html # 忽略 123.html 這個檔案
*.scss # 忽略所有副檔名為 .scss 的檔案

正常來說,假設金鑰在的檔案名稱為 appkey.yml,我們會再創一個 appkey.yml.sample
會把應該填的格式放在 .sample 檔中,但金鑰當然不會提供,
這樣可以方便其他使用者使用的時候,知道該怎麼正確填寫金鑰該放置的位置。
而今天我踩的雷呢,其實就是發生明明已經設定在 .gitignore 內,而且檔名再三確認過
卻沒有產生我要的忽略效果?!

原來,.gitignore 是有時間先後順序
如果你創了一個放金鑰的檔案,再來 .gitignore 上忽略該檔案,這是行不通的!
所以有需要忽略的檔案的情況下,
務必記得要先在 .gitignore 檔案中,再來創你所需要的檔案。

最後,其實我們可以使用 git rm xxx.file --cached 來拔掉 xxx.file 的特權,
就一樣會乖乖被忽略囉!


上一篇
遊記ep.11 關聯性的Rails村 -2
下一篇
遊記ep.13 關聯性的Rails村-3
系列文
Ruby菜鳥村村民遊記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言