iT邦幫忙

2022 iThome 鐵人賽

DAY 9
4
Modern Web

我的床邊故事Git and GitHub系列 第 9

第9晚 Git 常用指令 (下)

  • 分享至 

  • xImage
  •  

行前提要

昨天大半力氣都在講branch
繼續進行其他常用的幾個咒語吧
前面好像沒有特別清楚提到,my bad
當我們每次commit就會產生一組編碼,代表了那當下的戳記
如下圖綠色框框,欄位commit那位置有一串英文
其實是有點意思的唷它叫做SHA-1,是一種雜湊演算法
這裡沒有要介紹怎麼算,只想表達演算法夠複雜,編碼重複機率微乎其微啊~
想要在這裡逗留研究的朋友可以看看為你自己學 Git
我們繼續來看看

Git常用指令(咒語)

  • git checkout

    這個checkout很有意思,透過這咒語加上戳記,
    我們可以各處commit位置遊走,走去那邊看看當時的世界
    以上行為的敘述不覺得就是像是“旅行者在時空穿越的感覺嗎”
    咒語這樣下git checkout 編號
    ex : git checkout 5542
    (編號可以選擇全部,或者前面幾位數代表即可,四位或是六位都行)
    如果依照上圖,綠色框框
    我只要像這樣輸入,就可以順利切換過去啦,
    *(分支請先忽略T_T,當初應該先準備整齊在切換,後續再回來修正)

    https://ithelp.ithome.com.tw/upload/images/20220919/20150181jX0jZSdIgS.png

    當然要切換去有貼紙醒目的地方(大地標),因為有貼紙這個大地標
    我們可以用名字來切換,不用去特別輸入一串編號
    下面這張圖,是我從5542這個commit處切換去大地標v1/for_kids_jp
    https://ithelp.ithome.com.tw/upload/images/20220920/201501817K8yammcsl.png

  • git reflog(歷史參考書)
    好幾次我都會把這種可以查詢歷史的咒語混淆
    這邊對比一下
    我是git log 我是git log 我是git log
    https://ithelp.ithome.com.tw/upload/images/20220919/20150181jepDae8jPr.png
    我是git reflog 我是git reflog 我是git reflog
    https://ithelp.ithome.com.tw/upload/images/20220919/20150181mVdHhQcKdc.png
    這個reflog(凡走過必留下痕跡啊)
    reflog SHA-1七位、HEAD移動記錄、commit訊息
    其中看到HEAD@{0},可以說是目前位子
    HEAD@{0} 從零開始 HEAD@{0}=最後一次
    HEAD@{1} = 上一個位子
    log SHA-1超長、Author、Date、commit訊息

指令不熟,滑鼠也可以

點擊貼紙可以做刪除修改名字 ,甚至還有合併、更換命名 功能等等,
就算指令沒有記牢,透過滑鼠也可以迅速解決,真的超方便~
(請不要吐槽我,滑鼠輕鬆多了早該先講,哎呀先講滑鼠我還寫啥文章XD)

https://ithelp.ithome.com.tw/upload/images/20220914/201501816FwTSKn2VF.png
https://ithelp.ithome.com.tw/upload/images/20220914/20150181fXg1WBXm8v.png

同場加映

   git log --oneline --all --graph
   git log --pretty=format:"%h %s" --graph

這兩個是我最新發現非常炫砲,但我沒在用的指令XD
如同指令"graph"看到沒有,居然給我畫圖出來,
不就是Git Graph!比較一下有圖有真相!
在終端機用 ASCII 圖形來顯示分支及合併的歷史。


https://ithelp.ithome.com.tw/upload/images/20220914/201501813bmdsbxFHa.png

跟GitHub有點關係的指令

  • git merge (合併分支)
    在團隊合作下,會有連帶需要解衝突,
    這邊衝突意思是只檔案,不是人 -V-a,人無解(威~
    夥伴各自切分支出去做事情,完成後要合併在一起時,
    造成檔案衝突發生是因為在同一個位子做不同的事情完了搶到了
    但沒事vscode幫你撈出來,會讓你選擇檔案衝突處,要A作法還是B的,
    或者A B是不同事情,所以都需要留下。
    大概就是這樣的邏輯,後續當然會用實例讓大家更好理解。
  • git push
  • git pull
  • git push origin feature/pagy:feature/pagy
    留到後面進入GitHub時再來說說這部分

GIT真香(⁎⁍̴̛ᴗ⁍̴̛⁎)

也可以透過遊戲學習看看,
我當初可是玩得小辛苦呢
好不容易才解鎖全部(遠望
Git 小遊戲-


上一篇
第8晚 Git 常用指令 (上)
下一篇
第10夜 Git的線圖解讀
系列文
我的床邊故事Git and GitHub31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

2
雷N
iT邦研究生 1 級 ‧ 2022-09-20 00:09:06

好 我被錄取了

yojijun iT邦新手 4 級 ‧ 2022-09-20 00:14:33 檢舉

21天寫完後,換我XD (威~
/images/emoticon/emoticon37.gif

0
json_liang
iT邦研究生 4 級 ‧ 2022-09-20 00:19:16

GIT真香(⁎⁍̴̛ᴗ⁍̴̛⁎)

yojijun iT邦新手 4 級 ‧ 2022-09-20 04:22:28 檢舉

σ`∀´)σ

我要留言

立即登入留言