 【Git基礎(chǔ)篇】Git核心命令與基礎(chǔ)實(shí)戰(zhàn))
【Git基礎(chǔ)篇】Git核心命令與基礎(chǔ)實(shí)戰(zhàn)本節(jié)導(dǎo)讀一、先在心里畫(huà)一張圖:撤銷到底在撤什么二、`git reset`:撤銷與回退的核心武器2.1 準(zhǔn)備一個(gè)實(shí)驗(yàn)倉(cāng)庫(kù)2.2 場(chǎng)景一:撤銷最后一次提交,但保留代碼(最常用)2.3 場(chǎng)景二:把提交撤掉,改動(dòng)退回工作區(qū)繼續(xù)改2.4 場(chǎng)景三:徹底丟棄(危險(xiǎn)動(dòng)作,請(qǐng)三思)2.5 場(chǎng)景四:只“取消暫存”,不動(dòng)提交歷史2.6 關(guān)于 `HEAD~n` 與 commit id三、`git checkout`:切換、取回,以及新版的更優(yōu)解3.1 切換分支(下一節(jié)會(huì)深入講分支,這里先會(huì)用)3.2 從某次提交中“撈”回一個(gè)文件(救命用法)3.3 取消暫存的新寫(xiě)法3.4 detached HEAD(游離狀態(tài))——新手高頻恐慌點(diǎn)四、本地倉(cāng)庫(kù)的創(chuàng)建與管理要點(diǎn)4.1 三種建庫(kù)方式4.2 看一眼倉(cāng)庫(kù)健康狀態(tài)4.3 別忘了配置身份(否則提交會(huì)顯示未知作者)五、綜合實(shí)戰(zhàn):一次完整的“修改—提交—回退—恢復(fù)”閉環(huán)5.1 重建干凈環(huán)境5.2 完成任務(wù)A5.3 完成任務(wù)B5.4 完成任務(wù)C六、后悔藥:`git reflog` 找回“丟失”的提交七、避坑清單(本節(jié)精華,建議收藏)八、動(dòng)手練習(xí)九、總結(jié)本節(jié)導(dǎo)讀前面幾節(jié)我們已經(jīng)認(rèn)識(shí)了 Git 是什么,也親手跑通了init / add / commit / status / log這一套“最小可用流程”。這一節(jié)要解決的是新手最常遇到的三個(gè)問(wèn)題:提交錯(cuò)了怎么辦?改亂了怎么還原?倉(cāng)庫(kù)怎么管才不亂?核心答案就是三個(gè)命令族:git reset(撤銷/回退)、git checkout(切換與取回,含新版switch/restore)、以及配套的log/reflog/diff。本節(jié)會(huì)用一條完整的實(shí)操主線串起來(lái),并給出可直接照抄的命令清單。環(huán)境約定:Ubuntu 終端(Windows 用戶用 Git Bash,命令完全一致);Git 2.23+。一、先在心里畫(huà)一張圖:撤銷到底在撤什么很多教程只講參數(shù)不講原理,導(dǎo)致新手背了--soft/--mixed/--hard還是不敢用。其實(shí)只要記住上一節(jié)那張三段式結(jié)構(gòu):工作區(qū)(Working Dir) ←→ 暫存區(qū)(Index/Stage) ←→ 版本庫(kù)(Repository, HEAD指向的提交)所謂“撤銷”,本質(zhì)就是決定把改動(dòng)退回到這三層中的哪一層: