第 163 期 Git 推薦文章

# Git

# Monorepo Build Tools

最近在軟體開發的圈子中,使用 Monorepos 來管理程式碼有變流行的趨勢,Monorepos 指的是單一個 Repository 中包含著許多相關但是不同專案的程式碼,他有不少優點,但這樣的管理方式也帶來不少的挑戰,假設一個 Repo 中有數百個服務,彼此之間存在著相依性,當其中一個服務有變動時,如何讓其他的服務不會全部都被重新測試,編譯和部署?這時就可以依靠 Monorepos 專屬的工具來解決這個問題,在評估相關類型的工具時,通常會需要考慮以下幾個因素:

而目前在這個領域中,作者介紹了四個工具供大家選擇,底下根據上面提的選擇要點來做比較 (不過這篇文章是 Earthly 所撰寫,所以不能全信XD):

# The Wordcel's Guide to Shape Rotation using the Git Commit Graph

活在 2022 年快要結束的這個當下,應該沒有人會質疑 Git 在軟體開發領域的地位,幾乎每個人都需要使用它,但不一定每個人都真的了解他,這篇文章的作者坦承他一開始費了很大的勁去使用 Git,透過了很長時間的研究和練習之後才總算比較會使用一些,也才有辦法分享這篇文章給對於 Git 還不熟的人;文章中使用淺顯的例子加上容易理解的示意圖來解釋了 Git 常用的功能與知識,如 Git Commit, Branch, Merging, 至於 Rebase 呢?作者在最後説 Rebase 一個不被信任的黑暗工具,請大家使用 Merge 就好XD

# How to Close a Pull Request - Merge Commit vs Squash vs Rebase on GitHub

當要把 Pull Request Branch 合併到 Main Branch 的時會看到三個選項,分別是 "Create a merge commit", "Squash and merge" 以及 "Rebase and merge",這三個選項分別會如何將 PR Branch 合併到 Main Branch 呢?而究竟哪一個選項是最好的呢?

而究竟要選擇哪一個比較好,作者覺得假如 PR Branch 不會開著很久的話,那麼 Squash Merge 是個不錯的選擇,而他本身並不是 Rebase 的粉絲,因為他覺得使用 Rebase 很容易造成失誤,但是在決定要採用哪一個之前,可以先想想看自己和團隊需要去看歷史 Commit 的頻率有多高,團隊中有多少個成員,使用的 CI 工具是否需要完整的 Commit 歷史

Tag

Recommendation

  1. 第 143 期 Kubernetes 推薦文章
  2. 第 134 期 工作職涯 推薦文章
  3. 第 119 期 前端開發 推薦文章
  4. 第 113 期 DevOps 推薦文章
  5. 第 108 期 前端開發 推薦文章

Discussion(login required)