Git 中的狀況劇

各種用 Git 時可能會發生的情境。

commit 訊息打錯字

git commit --amend(僅限上一次的 commit)

commit 又後悔了

git reset HEAD^ --hard,我剛剛發的 commit 跟做的東西我全都不要了。
git reset HEAD^ --soft,我只是收回 commit,但我內容還要留著。
git reset HEAD^ --mixed,跟 –soft 的效果一樣,差別只在於 –mixed 會退回到 Untracked 的狀態。

你可以把 HEAD 想成是我們在「資料夾模擬法」中提到的那個,「用來記錄最新的版本是哪一個」的檔案,所以 HEAD^ 的意思就是「最新版本的前一個」的意思。

如果要指定前很多個的版本,也可以用 「HEAD^數字」的方式來表示。

還沒 commit,但我剛剛改的東西不要了

git restore file-name 指定某個檔案
git restore . 所有檔案

我想要改分支的名字

git branch -m new-branch-name

記得要切換到你想要改名字的那個分支。

把遠端的 branch 摘下來

git checkout branch-name

在你 clone 某些 Repository 到本地端的時候,你可能會發現有些遠端的分支在自己的電腦上不會顯示出來。

這個時候你只要用這個切換分支的指令,Git 就會自動把遠端的 branch 摘下來了。

參考資料

Git reset 的三種模式( soft mixed hard )比較
git reset - 還原版本

GitHub 的一些基本功能 GitHub 的一些小知識
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×