2018年6月24日 星期日

PowerShell 自動產生 gitignore 檔案

git 自動產生 gitignore 檔案

每一次都要打git的忽略文件超煩,完全沒意義的東西,真的該設定一個指令讓他自動執行呀。



安裝到 PoweShell

這邊已Windwos內建的 PoweShell 為例,直接輸入

git config --global alias.ignore '!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi'

如果當初安裝沒有打勾把命令注入到系統,可能沒辦法使用git命令,打開git bash輸入就好

生成文件

直接在git倉庫的目錄底下打下面指令就可以生成了

# linux
git ignore c++ >> .gitignore

# windwos (ps5.0 以前)
git ignore c++ | Out-File -Encoding ASCII .gitignore
  • 一個箭頭表示複寫新檔,兩個箭頭表示增加不會刪除舊檔
  • 多語言就用逗號隔開,可以一次混合成一包 git ignore c++,java

編碼問題

因為編碼的關係,預設 PowerShell 輸出並不是 UTF-8 而是 UTF-16 會導致 git 讀不到而不起作用。PowerShell 6 開始預設輸出就是 UTF-8 了,可以直接用箭頭產生。

查看PS版本 $PSVersionTable

有哪些語言可以用

上面打完就安裝好了,命令會在git的設定檔 .gitconfig 裡面新增一行指令。
這個文件一般安裝在使用者資料夾裡面,打開自己的使用者文件就找到了。

需要什麼語言可以打下面指令,包山包海應有盡有

git ignore list



如何優化指令

是能自己生出來了,可是每次都打這麼長怎麼受的了,這邊介紹一下如何在Win10底下自動生成gitignore文件檔。

首先配置一個起始文件,這個起始文件在powershell啟動的時候會自動執行裡面的內容。
下面的指令如果沒有建立過是空的,會自動生成一個起始文件

# 如果文件不存在自動生成
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }notepad $PROFILE
# 設置權限(預設沒權限可以執行)
Set-ExecutionPolicy AllSigned

然後用記事本打開編輯一下

notepad $PROFILE

第一次開應該是全空的,在裡面補上下面指令後,存檔就完成了

# 創建git的忽略檔
function gitIgnore ($Lang){
    git ignore $Lang | Out-File -Encoding ASCII -NoClobber .gitignore
}
function gitIgnoreOverWeite ($Lang){
    git ignore $Lang | Out-File -Encoding ASCII .gitignore
}
function gitIgnoreAppend ($Lang){
    git ignore $Lang | Out-File -Encoding ASCII -Append .gitignore
}
function gitIgnoreEdit($Editor){
    $ignoreFile = ".gitignore"
    if ($Editor){
        $cmd = $Editor + " " + $ignoreFile
        Invoke-Expression $cmd
    } else {
        notepad $ignoreFile 
    }

}

關閉重新開啟之後執行

cd ~\Desktop
gitIgnore java

這樣就會在桌面建立該文件了,要生成的文件的時候在那個git的資料夾按住shift在按右鍵,選擇在這裡開啟PS視窗,打這行指令就可以生成了

如果要新增兩個以上的語言就用 gitIgnoreAppend 會自動把新的內容寫在檔案結尾,使用 gitIgnoreOverWeite 則會覆蓋掉於本的檔案。

如果要手動編輯檔案則使用 gitIgnoreEdit 這個函式帶一個參數可以輸入自己喜歡的編譯器開啟。



參考

套件參考自:https://docs.gitignore.io/install/command-line

沒有留言:

張貼留言