在使用 Git 做版本控制的過程當中,無論是個人開發,還是團隊開發,偶爾會面臨到我們另外開分支所開發的實驗性功能或除錯結果,需要合併回主線的時候,有很大的可能我們只會需要合併其中幾個檔案而已,git merge --squash xxx
可以協助我們完成這件事,不過我一直都是使用 TortoiseGit,我們就來看看 TortoiseGit 怎麼做 Squash Merge?
[廚餘回收] Jenkins 的 Git Plugin 設定 Polling ignores commits in certain paths 套用在中文檔名上失效?
幾天前同事回報,他 merge 完 push 之後 Jenkins 為何沒有建置? 我目前所在的公司所有原始碼是湊在一起的,但是每一個建置作業又只需要建置某一個專案及其相依的專案,所以除了使用 Sparse Checkout paths 之外還搭配 Polling ignores commits in certain paths 來讓建置作業能夠控制在需要建置時建置,所以這問題肯定出在這兩個地方。
[料理佳餚] 讓 Jenkins 在對 GitHub 執行 git pull 指令時自動帶上 SSH Keys
有一些專案的建置作業中,某些步驟是需要對 Git Repository 做操作的,比如說在一切測試都通過之後,發行一個可執行的版本並 commit,然後 push 到待上線的 Git Repository,這時候賦予給 CI 的 Git 帳號就至少要有 Write 的權限,並且執行需要授權的操作時,自動帶上認證。
[小菜一碟] 想不到 Jenkins Git Plugin 還有一招 Sparse Checkout paths
當我們的 Git Repository 只有一包的時候,而我們又想要讓 Jenkins 只 Pull 某個資料夾底下的檔案時,Sparse Checkout paths
這個 Git Plugin 的附加行為可以幫我們辦到這件事。
[料理佳餚] Jenkins 依據 Git 特定的 committed message 或 changed path 來 trigger 建置作業
有時候我們不需要每次 commit 都執行 CI 的建置作業,例如:更換網站的 Logo、更新靜態頁面的 Wording,這次要介紹兩種方式,都是可以用來指定在特定條件之下才 trigger 建置作業的方式,一種是根據特定的 committed message,另一種是根據特定的 changed path。
[小菜一碟] 使用 TortoiseGit 透過 SSH 操作多個 GitHub 帳號
在這個時代身為一個碼農,有個幾處碼田是挺正常的,我本身有兩個 GitHub 帳號,一個是公司用的,一個自己私人用的,而 Git Client 是用 TortoiseGit,不同的遠端儲存庫使用不同帳號去認證,而當我們選擇使用 SSH 針對不同帳號,產生不同金鑰去存取遠端儲存庫的時候,就會看到這樣子的訊息。
[料理佳餚] 在 CentOS 7 上安裝 Go Git Service 並透過 LDAP 接 AD 驗證使用者
[料理佳餚] SCM-Manager Install on Windows Server
Git 愈來愈火紅了,在上完保哥的課之後,覺得來試試看,在比較過幾套 Git Server 的優缺點之後,最後決定用 SCM-Manager。
- 1