Skip to main content

31 篇文章已被標記 與 "教學" 標籤有關的文章

瀏覽所有標籤

Git Rebase Onto 全中文最完整教學

本文延續 使用變基 Rebase 合併分支 但是專注說明 onto 用法,也可以視為 rebase 的完整解析版本,完全遵照文檔說明沒有模糊地帶。本文會說明為何網路上的說法為何錯誤,同時包含實際範例展示,並且和上一篇相同,筆者保證本文絕對正確。

Git 各種日常問題集合

介紹 Git 常見的本地和遠端問題,包含清除reflog記錄、正確使用rebase、git mv、以及如何加速clone等進階技巧。還解釋了常見錯誤誤導,並提供正確的 Git 操作方法。

Github Actions 自動化 CI/CD

網路上似乎沒有文章能簡潔的把 Github Actions 講清楚,所以又寫了一篇。Github Actions 是用於自動化操作的 CI/CD 平台,可以在上面自動執行單元測試、構建發布套件、執行 cron 任務等等,額度請參考文檔,簡單使用基本上用不完。

Github 搜尋技巧

本文快速精練的說明如何在 Github 進行條件搜尋,一般大概也只會用本文列出的這些,而且 Github 搜尋功能不是非常完美,光是這些常用的選項有時候搜尋結果就不如預期了。

Vim 文字編輯器基礎操作

為何要學 Vim?因為編輯 Git 文件時預設使用 Vim。初學者請跳過這篇文章,需要時再回來看,Vim 要用到熟練的時間成本遠遠大於 Git 的數倍以上,一開始只要能修改和儲存就夠了。

一分鐘入門

本文介紹 Git 最基礎的指令,只會說明如何增加新的提交記錄。

使用 cherry-pick 揀選指定提交

Cherry-Pick 的意思是把指定提交像是摘櫻桃一樣取過來,開發社群通常不鼓勵使用此指令,詳情請見 Git Cherry Pick 的後遺症,我們不管這個問題只學如何使用。

使用 Git Bisect 找出錯誤提交

找出錯誤最快的方式是使用二分法切一半找問題,git bisect 指令就幫助我們完成這件事,只要提供開頭結尾分別是正確和錯誤的提交,Git 就會自動幫我們在提交歷史中切換,不過哪個提交有問題當然還是要自己確認。

使用 Git Worktree 簡化分支切換

Git worktree 的目的是簡化在分支之間切換的指令步驟,甚至允許你同時修改兩個分支。舉例來說,以往我們在多個分支間來回切換的指令流程是

使用互動式變基 Interactive Rebase 任意修改提交歷史

互動式變基是 Git 最強大的指令,包含移動提交、刪除提交、修改提交內容、修改提交訊息全部都可以做到。原理仍舊是基於變基,但是使用時完全不會感覺到分支操作。互動式變基常用的選項有五個:

使用變基 Rebase 合併分支

筆者認為網路文章每篇講的都不一樣是初學者對變基 (rebase) 感到畏懼的原因,所以撰寫時同時參考 Git 官方文檔以及 Pro Git Book,多方比對和驗證保證本文解釋方式能和指令實際用途能夠對應,講這麼多目的就是要讓你只要讀這篇文章就夠了,不需要再去網路上查其他文章,因為網路上的文章參差不齊容易被誤導。

分支操作

分支操作主要有以下五大指令,扣掉複雜的 rebase 以外其餘根本不需要每個寫成一篇文章來介紹。本文只會有本地不會有遠端操作,遠端操作的第一篇文章要從遠端儲存庫設定開始。

團隊協作最佳實踐🔥

本文介紹多人協作中推送和合併分支的最佳實踐,整理自码农高天的影片,人家是微軟工程師,CPython core dev,不是網路上的半桶水。

在本地執行 Github Action

延續上一篇文章 Github Actions 自動化 CI/CD,我們可以在本地執行 Github Actions 用於在本地先偵錯 Workflow 語法設定或是節省 Actions 額度。首先需要安裝 act 套件以及 docker,並且手動打開 docker 才能執行,他不會自己打開。

基礎操作

一分鐘入門只說明如何提交檔案,但是在版本之間切換才是版本管理工具的精華,接下來的本文和下一篇文章分別為基礎操作(單一分支)和分支操作(多分支),快速檢索的方式是從右側目錄快速定位操作內容,例如提交錯誤時可以找到「清除提交」定位到 git reset。

基礎知識

本文介紹大的 picture 讓你可以宏觀的理解 Git 運作方式,先知道他在做什麼再學會怎麼操作他,網路很多教學文章都本末倒置,導致初學者指令貼上可以用,但是就是不清楚自己在做甚麼。

幫所有提交加上 GPG 簽名

起因是發現 gpg 認證失敗沒辦法 commit,腦袋一熱就想著藉此機會把所有以前設定錯誤的金鑰全部移除,移除完再新增金鑰所有操作都正常,除了以前所有的簽名資訊全部失敗以外...因為我把 Github 上面的金鑰也一起刪了導致舊 commit 在遠端上無法驗證。

幫重要版本打上標籤

用標籤標示重要版本,分為 lightweight 和 annotated 兩種,官方建議使用 annotated。lightweight 是簡單的 refs ,annotated 則是完整的物件對象,包含作者名稱、日期、email、GPG 簽名等資訊。

關於修改的動詞小抄

寫 commit message 發現自己永遠只會 edit/change/adjust/tune,這邊請 GPT 補一下英文,而且有些單字會腦袋抽風突然想不起來,這篇當作 cheatsheet 使用。

零、前言

啟發自码农高天的 Git 教學,被他淺顯易懂的說明驚訝到,並且深刻感受到繁體中文教學實在很差勁,於是決定自己寫,想解決我在學習 Git 時發現的問題: