Git 是學習軟體開發不可或缺的工具,本系列文不只示範基礎指令,更進一步探討在每次操作時,.git/ 資料夾發生的變化,藉此一窺 git 幕後的運作機制。
Medium 好讀版點此。 在 Day 20 文章中,我們提到要讓一個檔案退出預存區,除了 git reset 之外,還有一種指令是 git rm --cac...
Medium 好讀版點此。 在許多比較早期的 git 教材中,如果提到要切換分支,都是使用 git checkout 指令,但我的文章卻從來沒用過,而是用 g...
Medium 好讀版點此。 要展現 git 的協作功能,則不能不提其開分支、合併分支的機制。之前我們在 Day 9 提過,分支的本質是「參考(ref)」,那合...
Medium 好讀版點此。 除了 git merge,另一指令 git rebase 也能把兩分支變成一個分支,單看名稱看起來是「把整段分支基底搬家」,但在...
Medium 好讀版點此。 在 Day 24 文章中,我們探討了 git rebase 是如何「看似」把一個分支的 commit 搬到另一分支,但其實 git...
Medium 好讀版點此。 如果不慎把如含有個資、密碼等機敏資訊的檔案放到 commit 裡,希望改寫過往歷史紀錄,把與機敏資訊有關的檔案通通刪除,可以使用...
Medium 好讀版點此。 在 Day 26 的文章中,我們發現跑完 git gc 後,.git/objects 為空,但是 .git/objects/inf...
Medium 好讀版點此。 回顧 Day 8 文章,我們提到一個空資料夾經過 git init 指令後,會出現 .git/ 資料夾如下: .git/ ├──...
Medium 好讀版點此。 要從遠端倉儲「下載」檔案下來,可分為「本地有較舊版本」或「本地完全沒有這份專案」兩種情境,前者用 git fetch 或 git...
Medium 好讀版點此。 在本地端可以用 git branch 產生新分支、可以用 git merge 合併兩個分支;在遠端(如 GitHub)也可以開新分...