The Will Will Web

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

如何使用 Git Credential Manager 快速清除 Azure Repos 使用者認證快取

因為我過往建立了數十個不知道何時建立的 PAT (Personal Access Token) 金鑰,為了避免有 PAT 不小心外洩,索性就把我個人在 Azure DevOps Services 上的 PAT 全部清除,然後所有自動化作業都壞了,還好很容易修理。除此之外,我也修改了個人密碼,結果導致本機要透過 git clone 下載 Azure Repos 上面的原始碼也都失效。但重點是,雖然認證失敗,卻不會跳出讓我重新登入,原因是「使用者認證」被快取了,這篇文章我要來說說清除「快取」的方法!

... 繼續閱讀 ...

如何在 Monorepo 透過 Git 的 Sparse Checkout 取得部分 Repo 內容

我們現在有越來越多的專案都是前後端分離的架構,所以在一個 Git Repo 裡面同時放前後端程式碼是很常見的狀況。不過,問題來了,如果前後端分離的很乾淨,若是前端人員不想要看到「後端」的原始碼,那 Git 有辦法做到「部分取出」的功能嗎?是的,還真的有!這篇文章我就來說說這個好用的功能。

... 繼續閱讀 ...

如何在 Windows 安裝 Gitea 源碼版控系統與 PostgreSQL 14 資料庫

Gitea 是一套功能相當完整卻又非常輕量的 Git 源碼版控與議題追蹤系統,我在這幾年也幫好幾家公司安裝過,基本上在 Windows 上面安裝 Gitea 的過程十分容易,只要幾個命令就可以安裝到好,但是若真的要一次安裝到好,其實還是有一些門檻,畢竟網路上的資料太多太亂,這篇文章我將分享我的安裝過程,基本上照著做應該都可以順利的安裝到好。

... 繼續閱讀 ...

在 Azure 實現 GitOps 的起手式:使用 Bicep 部署 Web 應用程式

我經常需要在 Azure 手動建立許多測試站台,雖然說設定上並沒有很複雜,但是時間一久,累積出將近百來個 Web App 也是蠻難維護的,而且 組態漂移 (Configuration Drift) 的問題也會日趨嚴重,久而久之就不知道服務到底是怎樣設定出來的了。近幾年很夯的 GitOps 觀念興起,讓你可以使用 Git 管理基礎架構的所有設定,用應用程式開發的流程來管理維運的基礎架構,提升基礎架構的可維護性。本篇文章我就簡介一下 Azure 專用的 Bicep 語言,教你如何利用 Bicep 實現 Azure 雲端平台的 GitOps 架構。

... 繼續閱讀 ...

如何在 Windows 使用 Git 版控時可以區分檔案名稱大小寫

今天被問到一個關於 Git 版控的問題,同事提到我們有個網站專案的 Repo 裡面有個 *.svg 檔案,之前 git commit 的時候使用 helloWorld.svg 這樣的檔名,但是部署的時候發生錯誤,客戶告知必須用英文小寫的檔名才能正常運作,所以他就來修改一下檔案名稱,結果卻發現 Git 怎樣都無法修改檔名大小寫部分,問我該怎麼辦。這篇文章我就來跟各位說明這個問題的來龍去脈與解決方法。

... 繼續閱讀 ...

如何建立與刪除 Azure DevOps 上面的 Project Wiki 文件庫

在 Azure DevOps Service 上面的 Wiki 有兩種類型,一種是隨著專案一起建立的 Project Wiki 文件庫,另一種是隨著 Git Repo 特定分支的 Code Wiki 文件庫。然而 Project Wiki 一個專案只能有一個,而且建立之後預設是無法刪除的,無論透過 Web UI 或是 Azure CLI 都沒辦法。今天這篇文章我要來說明如何透過 Azure DevOps REST API 來刪除專案的 Project Wiki 文件庫。

... 繼續閱讀 ...

如何設定 git ignore 命令並自動下載所需的 .gitignore 範本

每次開發一個新專案,多多少少都會需要手動加入 .gitignore 檔案。如果用 Visual Studio 2019 建立專案時加入 Git 版控,工具會自動幫你新增 .gitignore 檔案。但若用 dotnet new 建立專案時就不會自動建立 .gitignore 檔案了。本篇文章我將介紹一個好用工具,可以讓你很便利的快速產生專案所需的 .gitignore 檔案。

... 繼續閱讀 ...

如何透過 Git Credential 管理透過 HTTP 通訊協定存取儲存庫的帳號密碼

一般在使用 Git 存取遠端儲存庫時,大部分的人都使用 SSH 或 HTTP(S) 通訊協定。如果使用 SSH 協定,你可以設定金鑰認證,如此一來不但不用每次都輸入密碼,連線過程還可以全程加密。但是若用 HTTP(S) 的話,就沒那麼方便了,預設每次都需要輸入帳號密碼進行驗證。更有甚者,如果 Git 平台設定了多因素驗證/兩階段驗證,那就更難記憶密碼。還好 Git 內建提供了認證儲存機制 (Credential Storage),可以幫你暫存常用的帳號密碼,輕鬆幫你做到自動帳號密碼輸入。本篇文章教你認識有哪些認證管理工具,還有如何管理這些帳號密碼。

... 繼續閱讀 ...

如何設定 TortoiseGit 改用 WinMerge 當作 Diff 與 Merge 的主要工具

最近幾個月由於電腦升級到了 Windows 10 (1709) 最新版本,卻發現 TortoiseGit 在執行 diff 差異比較的時候,預設的 TortoiseGitMerge.exe 程式,開啟的速度超級超級慢。我用工作管理員去查看,也發現 TortoiseGitMerge 的 CPU 使用率,會在剛開啟的時候突然飆高很長一段時間。最後,我也因此被迫換成速度較快的 WinMerge 工具,功能也不差,比內建的好用許多,建議各位也可以換過去用。

... 繼續閱讀 ...

如何透過檔案總管建立 .gitignore 或 .editorconfig 等只有副檔名的檔案

如果你是在純 Windows 環境下開發程式,通常不會遇到「只有副檔名」的檔案名稱,但是如果你是在 Windows 平台開發前端應用程式,像是 AngularReact 等等,就很有機會經常遇到像是 .editorconfig.npmrc.bowerrc 諸如此類的設定檔,當要建立這些檔案時,就會產生一個困擾,就是檔案總管無法建立沒有檔名的檔案,我之前每次都要先開記事本,把內容打完後再儲存檔案,這時才能儲存只有副檔名的檔案。我最近發現,原來 Windows 檔案總管也可以建立只有副檔名的檔案,這篇文章就讓我來細說從頭。

... 繼續閱讀 ...