我每年都會有好幾場 Azure DevOps 的企業內訓,最近的一場是在一家金融業的企業,他們的網路管制非常嚴格,但是有特別開放 Azure DevOps Services 的雲端服務,所以基本上連線是正常的,唯獨 Git 連接 Azure Repos 上的儲存庫時,就會遇到連線問題。今天這篇文章我就來說說解決方案。
... 繼續閱讀 ...
我在一小時 No-Code 打造可搜尋的 AI 知識庫系統 (RAG)課程中有準備一個知識庫範例,可以將整份 angular.dev 網站轉成知識庫所需的文字檔案。由於 angular.dev
網站內容都是開源的,放在 GitHub 的 angular/angular Repo 中的 adev
目錄下。但這個 Repo 有 30,486 個 Commits,檔案數與下載量都非常大,如果只想取得特定目錄下的檔案,就需要動用一些 Git 的進階技巧,今天我想來分享一下我是如何快速下載 Git Repo 中特定資料夾下的所有 *.md
檔案,並且批次轉成 *.txt
的過程。
... 繼續閱讀 ...
在使用 Git 進行版本控制時,我們只要使用 git rebase
、git commit --amend
或 git reset
多多少少都會殘留一些無法到達的物件 (unreachable blob or commits)。這些無法到達的物件雖然不會直接影響我們的日常工作,但它們會佔用儲存空間,並可能在某些情況下引起混淆,例如明明檔案不多,但是卻佔用大量磁碟空間。今天我將深入探討什麼是 unreachable 物件,並詳細介紹如何有效地清理它們。
... 繼續閱讀 ...
各位可能已經知道 Visual Studio Code v1.84 與 GitHub Copilot Chat 最近內建了一個 Commit message generation 功能,可以自動產生 Git Commit 需要的 Log,不過我覺得第一版功能相當殘缺,常常言不及義,也不能客製化提示內容(Prompts),不太好用。我自己則是找到一套 CodeGPT 工具來幫我做到一樣的事,用了一段時間覺得真的相當實用,所以打算透過這篇文章介紹給大家。
... 繼續閱讀 ...
由於 Git 分散式的特性,所以每個開發者都可以在自己的電腦上建立一個完整的 Git 儲存庫,這樣就可以在沒有網路的情況下進行開發,而且每個開發者都可以在自己的電腦上建立多個分支,這樣就可以在開發新功能時,不會影響到其他開發者的工作。不過,缺點就是在 git clone
的時候會大量的下載資料,尤其是專案很大的時候,這個問題就會特別明顯了!有沒有辦法可以解決呢?可以的,這篇文章我將分享 Git 的 Partial Clone (部分複製) 功能,讓你更有效率的下載專案原始碼!
... 繼續閱讀 ...
不知道大家是否曾經有過這樣的需求:在一個 Git Repo 下有好幾個分支,但你在某些特殊情況下需要「同時」開啟不同分支的程式碼做開發,所以你並不想要經常的切換分支,因為當你要切換分支時,在執行 git checkout
之前都要先做一次 git stash
把尚未 commit 的變更先儲存起來,在另一個分支開發完成後又要切換回來,並透過 git stash pop
把暫存的變更復原,這樣的動作實在是太麻煩了。這個需求或許並不常見,但如果你遇到的話,那麼這篇文章應該就能幫助到你。
... 繼續閱讀 ...
我最近又有一場企業內訓是關於 Git 教育訓練,大家應該都知道 Git 是一個非常知名的版本控制系統,它可以追蹤文件的更改、協調多人協作、還原過去的版本等等。學習 Git 可以幫助你更好地管理你的程式碼,並提高團隊協作的效率。雖然說 Git 是軟體開發行業中不可或缺的技能,但市場上永遠都有新進者,他們想學習 Git,但不知道從何入手。今天這篇文章我打算提供一系列學習 Git 版本控管的提示詞 (Prompt),幫助 Git 新手藉助 ChatGPT 快速瞭解 Git 版本控管。
... 繼續閱讀 ...
現在資安意識抬頭,許多東西都開始採用「零信任」的基礎來進行規劃。今天這篇文章,主要針對在 CI/CD 的環境下,如何透過 Personal Access Token (PAT
) 來存取 Git 儲存庫。
... 繼續閱讀 ...
因為我過往建立了數十個不知道何時建立的 PAT
(Personal Access Token) 金鑰,為了避免有 PAT 不小心外洩,索性就把我個人在 Azure DevOps Services 上的 PAT
全部清除,然後所有自動化作業都壞了,還好很容易修理。除此之外,我也修改了個人密碼,結果導致本機要透過 git clone
下載 Azure Repos 上面的原始碼也都失效。但重點是,雖然認證失敗,卻不會跳出讓我重新登入,原因是「使用者認證」被快取了,這篇文章我要來說說清除「快取」的方法!
... 繼續閱讀 ...