內容 概念 計算每次的合併請求的字數計算,此方法使用較為笨呆的方式,使用Git clone此儲存庫,並利用object的資料夾裡面搜尋此次的變更並比對,來達到比對的作用,而下載會使用SSH金鑰或Token來作為檔案放置。 不過後來發現可以直接在CI運作的時候就可以執行Git指令與相關程式,並且將沒有Pull的內容Pull下來,但這次以改以Fetch而且也找到了可以執行Git的Python套件,因此會利用此來做比對並將字數計算器結合來使用。以下是發現的相關套件: subprocess Dulwich pygit2 GitPython Documentation difflib 使用方法 Dulwich 儲存庫 匯入 Repo 類別,此類別用於操作「儲存庫」(Repository),詳細文件說明可以參考 class dulwich.repo.Repo(root) 。 from dulwich . repo import Repo 「儲存庫」(Repository)分成兩種: 儲存庫 :含有「工作目錄」(working directory)與 .git ,可使用 git init RepositoryName 來建立。 裸儲存庫 :不含有「工作目錄」(working directory)與 .git ,通常提供遠端與備份使用,可使用 git init RepositoryName --bare 來建立。 建立儲存庫 建立一個資料夾並建立儲存庫,類似於 git init 。先匯入套件系統相關的套件,如果還沒有匯入 Repo 也要記得到 儲存庫 使用 from dulwich.repo import Repo 匯入。 from os import mkdir import sys 接下來建立儲存庫的資料夾,與實際操作Git時一樣要先建立資料夾才能初始化儲存庫。 mkdir ( "myrepo" ) 接下來初始化儲存庫,呼叫變數 repo 來檢查是否建立成功。 repo = Repo . init ( "myrepo" ) repo 如果出現下列訊息則代表建立成功。 <Repo at 'myrepo'> 您已經可以查看 myrepo