The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

GitHub CLI 常用命令筆記

最近 GitHub CLI 用的很開心,因為用了 GitHub Copilot Coding Agent, OpenAI Codex CLI, Gemini CLIClaude Code 之後,有越來越多專案都開始移往 GitHub 平台,而我在寫 GitHub Actions workflows 的時候,也非常愛用 GitHub CLI 幫我操作 GitHub Issues 與 PRs,超級方便。這篇文章我打算記錄一些比較常用的參數與命令,以備日後快速查找參考。

... 繼續閱讀 ...

不常用 Git 命令整理

我每天都在用 Git 進行版控,有些命令真的是滾瓜爛熟,閉著眼睛都可以打出來。不過,有些命令偶爾會用到,不整理起來每次都要問 AI 也確實有點煩,所以這邊文章我就打算做個筆記,以後有想到就整理到這篇文章來。

... 繼續閱讀 ...

當在 git clone 之後看不到所有遠端分支的問題分析與解決方案

在團隊協作或維護大型專案時,經常會遇到一個常見問題,就是在執行 git clone 之後,發現用 git branch -agit branch -r 看不到所有遠端分支 (remote branches)。這個現象不僅讓人困惑,也會影響開發流程,我們在實務上已經有兩三位同仁遇到了,所以我覺得可以寫一篇文章分享一下問題發生的原因與解法。

... 繼續閱讀 ...

在高度網路管制的企業內部如何設定 Git 連接 Azure Repos 上的儲存庫

我每年都會有好幾場 Azure DevOps 的企業內訓,最近的一場是在一家金融業的企業,他們的網路管制非常嚴格,但是有特別開放 Azure DevOps Services 的雲端服務,所以基本上連線是正常的,唯獨 Git 連接 Azure Repos 上的儲存庫時,就會遇到連線問題。今天這篇文章我就來說說解決方案。

... 繼續閱讀 ...

如何以最小下載量的方式取得 Git Repo 中特定資料夾下的特定檔案類型

我在一小時 No-Code 打造可搜尋的 AI 知識庫系統 (RAG)課程中有準備一個知識庫範例,可以將整份 angular.dev 網站轉成知識庫所需的文字檔案。由於 angular.dev 網站內容都是開源的,放在 GitHub 的 angular/angular Repo 中的 adev 目錄下。但這個 Repo 有 30,486 個 Commits,檔案數與下載量都非常大,如果只想取得特定目錄下的檔案,就需要動用一些 Git 的進階技巧,今天我想來分享一下我是如何快速下載 Git Repo 中特定資料夾下的所有 *.md 檔案,並且批次轉成 *.txt 的過程。

... 繼續閱讀 ...

深入探討 Git 中的 Unreachable (無法到達的) 物件與清理方法

在使用 Git 進行版本控制時,我們只要使用 git rebasegit commit --amendgit reset 多多少少都會殘留一些無法到達的物件 (unreachable blob or commits)。這些無法到達的物件雖然不會直接影響我們的日常工作,但它們會佔用儲存空間,並可能在某些情況下引起混淆,例如明明檔案不多,但是卻佔用大量磁碟空間。今天我將深入探討什麼是 unreachable 物件,並詳細介紹如何有效地清理它們。

... 繼續閱讀 ...

介紹好用工具:CodeGPT (使用 GPT 自動化產生 Git 的 Commit Log 訊息)

各位可能已經知道 Visual Studio Code v1.84GitHub Copilot Chat 最近內建了一個 Commit message generation 功能,可以自動產生 Git Commit 需要的 Log,不過我覺得第一版功能相當殘缺,常常言不及義,也不能客製化提示內容(Prompts),不太好用。我自己則是找到一套 CodeGPT 工具來幫我做到一樣的事,用了一段時間覺得真的相當實用,所以打算透過這篇文章介紹給大家。

... 繼續閱讀 ...

使用 Git 的部分複製功能 (Partial Clones) 快速下載專案原始碼

由於 Git 分散式的特性,所以每個開發者都可以在自己的電腦上建立一個完整的 Git 儲存庫,這樣就可以在沒有網路的情況下進行開發,而且每個開發者都可以在自己的電腦上建立多個分支,這樣就可以在開發新功能時,不會影響到其他開發者的工作。不過,缺點就是在 git clone 的時候會大量的下載資料,尤其是專案很大的時候,這個問題就會特別明顯了!有沒有辦法可以解決呢?可以的,這篇文章我將分享 Git 的 Partial Clone (部分複製) 功能,讓你更有效率的下載專案原始碼!

... 繼續閱讀 ...

使用 git worktree 管理一個本地儲存庫下的多個工作目錄副本

不知道大家是否曾經有過這樣的需求:在一個 Git Repo 下有好幾個分支,但你在某些特殊情況下需要「同時」開啟不同分支的程式碼做開發,所以你並不想要經常的切換分支,因為當你要切換分支時,在執行 git checkout 之前都要先做一次 git stash 把尚未 commit 的變更先儲存起來,在另一個分支開發完成後又要切換回來,並透過 git stash pop 把暫存的變更復原,這樣的動作實在是太麻煩了。這個需求或許並不常見,但如果你遇到的話,那麼這篇文章應該就能幫助到你。

... 繼續閱讀 ...