昨天大半力氣都在講branch
繼續進行其他常用的幾個咒語吧
前面好像沒有特別清楚提到,my bad
當我們每次commit就會產生一組編碼,代表了那當下的戳記
如下圖綠色框框,欄位commit
那位置有一串英文
其實是有點意思的唷它叫做SHA-1
,是一種雜湊演算法
這裡沒有要介紹怎麼算,只想表達演算法夠複雜,編碼重複機率微乎其微啊~
想要在這裡逗留研究的朋友可以看看為你自己學 Git
我們繼續來看看
git checkout
這個checkout很有意思,透過這咒語加上戳記,
我們可以各處commit位置遊走,走去那邊看看當時的世界
以上行為的敘述不覺得就是像是“旅行者在時空穿越的感覺嗎”
咒語這樣下git checkout 編號
ex : git checkout 5542
(編號可以選擇全部,或者前面幾位數代表即可,四位或是六位都行)
如果依照上圖,綠色框框
我只要像這樣輸入,就可以順利切換過去啦,
*(分支請先忽略T_T,當初應該先準備整齊在切換,後續再回來修正)
當然要切換去有貼紙醒目的地方(大地標),因為有貼紙這個大地標
我們可以用名字來切換,不用去特別輸入一串編號
下面這張圖,是我從5542
這個commit處切換去大地標v1/for_kids_jp
git reflog(歷史參考書)
好幾次我都會把這種可以查詢歷史的咒語混淆
這邊對比一下
我是git log
我是git log
我是git log
我是git reflog
我是git reflog
我是git reflog
這個reflog(凡走過必留下痕跡啊)reflog
SHA-1七位、HEAD移動記錄、commit訊息
其中看到HEAD@{0},可以說是目前位子
HEAD@{0} 從零開始 HEAD@{0}=最後一次
HEAD@{1} = 上一個位子log
SHA-1超長、Author、Date、commit訊息
點擊貼紙可以做刪除修改名字 ,甚至還有合併、更換命名 功能等等,
就算指令沒有記牢,透過滑鼠也可以迅速解決,真的超方便~
(請不要吐槽我,滑鼠輕鬆多了早該先講,哎呀先講滑鼠我還寫啥文章XD)
git log --oneline --all --graph
git log --pretty=format:"%h %s" --graph
這兩個是我最新發現非常炫砲,但我沒在用的指令XD
如同指令"graph"看到沒有,居然給我畫圖出來,
不就是Git Graph!比較一下有圖有真相!
在終端機用 ASCII 圖形來顯示分支及合併的歷史。
在同一個位子做不同的事情
完了搶到了vscode
幫你撈出來,會讓你選擇檔案衝突處,要A作法還是B的,也可以透過遊戲學習看看,
我當初可是玩得小辛苦呢
好不容易才解鎖全部(遠望
Git 小遊戲-