git-忽略本地檔案且不修改專案.gitignore

今天寫的是一個很簡單的 tip,因為使用 rider 但是團隊其他人並沒有使用,這樣子 IDE 產生出來的一些檔案如果也寫到專案的 .gitignore 好像也不太好,以往都是很熟悉的團隊成員,所以偷懶直接加上去也沒關係,但如果是剛到新團隊這樣幹就不太好了

當然有一些軟體都有設定可以排除掉本地檔案,像是 php storm 聽說有,但這樣子就被限制住一定要使用該軟體,如果透過指令列或是換一套軟體就破功了。其實在 Github 這邊已經有一篇文章寫得很清楚了:Ignoring files

針對特定一個 repo

就是在專案底下建立 .gitignore,這個就是很單純的把不想要進版控的檔案放在這邊,但如果是以這次的情境,明顯是不符合我們要的

所以我們還必須要在專案根目錄下的 .git/info/exclude 這個檔案去做額外的排除設定就可以了,但如果像是我固定用 rider 每個專案他都會建立 .idea 設定資料,那我不就每個都要去做,又或者是我重新下載 repo 也要重做一次,那很累的,所以,這裡也有提供一個電腦 global 的設定

電腦全域設定排除檔案

我們可以透過指令,告訴 git 我們希望做全域排除的檔案放在哪裡,這個步驟可以透過指令來執行

1
git config --global core.excludesfile ~/.gitignore_global

依照上述命令,設定排除的檔案就是使用者目錄下的 .gitignore_global 這個檔案,所以只要去修改這個檔案內容,就能控制要排除掉的檔案了

git 2.8 版本以上可以透過 git config --list --show-origin 看到當前目錄會吃到的所有 git 設定值,可以更確切的知道會吃到哪些檔案的設定值,對於不清楚 git 設定從哪邊來的使用者很有用(例如使用免安裝的 git 使用者)