版本控制 4

使用 Git Bisect 快速找到第一個有問題的 Commit

 作者 Puck Wang |  建立於 2021-04-19 03:34  |  更新於 2021-05-01 02:19  |  版本 ed2c5d3  |  分類: 版本控制, Debug |  標籤: Git
Git log
Git log

現在專案很常使用 Git 作為版本控制系統,所以在遇到 Bug 找不到是哪裡出錯時,可以藉由找出第一次出錯的 Commit 來找到問題原因。

但在大型專案中,全部 Commit 可能達上千筆,如果遇到很久沒發現的 Bug,就可能會發比較久的時間去找是哪個 Commit 出問題。

常見的可能會看 Commit 訊息來反推可能有問題的 Commit,或是用最笨的方法一個個往回找,這樣效率都不太好。

利用 Git 內建的 Git Bisect 來使用二元搜尋的方式來找有問題的 Commit,就可以大大提升效率。

Continue Reading...

Git 進階應用 Submodule 與 Subtree,使用它們來拆分專案

 作者 Puck Wang |  建立於 2020-03-18 21:29  |  更新於 2021-02-23 14:45  |  版本 c57f72f  |  分類: 版本控制 |  標籤: Git, Git Submodule, Git Subtree, 子模組, 匯入, 模組化, 專案拆分

在開發過程中,專案隨著時間變得越來越肥,不時還生出子專案,此時就會遇到需要各專案共用一些 Code 的部分,如果共用的部分是用 複製貼上 的方式去同步,那勢必一定會造成兩邊不同步,維護困難。

本篇文將分享 Git Submodule 與 Git Subtree 的差異及它們的使用方法。

Continue Reading...

利用 GPG 簽署 git commit

 作者 Puck Wang |  建立於 2019-04-03 16:04  |  更新於 2020-03-20 00:29  |  版本 cdfa07e  |  分類: 精選, 版本控制 |  標籤: Github, Gitlab, GPG, Verified, git, 身份識別

GPG 全名為 GNU Privacy Guard 也可以簡稱為 GnuPG,他是一個加密軟體,但也可以用來驗證身份。

今天就要來將我們 git commit 加上 GPG 簽署,讓它 Push 到 Github 等代管平台後,別人可以確定這份 Commit 是你提交的。

Continue Reading...