iT邦幫忙

2021 iThome 鐵人賽

DAY 7
1
Modern Web

MacOS新手操作指令學習紀錄,成為裝B前端工程師之路系列 第 7

[Day7] Git學習筆記-分支篇 (MacOS)

  • 分享至 

  • xImage
  •  

經過一開始遇到的一些小問題,後續的操作基本上都沒有發生奇怪的事情
先推薦兩個好用的學習網站:

  1. 連猴子都能懂得Git入門指南
  2. LearnGitBranching

接著繼續本日的學習筆記

1. 前言-創造平行時空(分支)
過去我工作的環境沒有版本控制,當大家要編輯一個檔案時可能會先有 工作進度-原始版.docx
接下來出現 工作進度-A男、工作進度-修1、工作進度-B女...等
然後負責整理的人做了一個 工作進度-1100915-v1,再請一些人修正
接著 1.1、1.2...,2.0、2.0修、2.0最終修正版、2.0最終修正版-2...各種混亂的名稱
到實際報告的時候就會有人說:為什麼我都改好了,沒被修進去!
如果各路英雄能在自己的平行時空發展,最後再把成果回歸到主線時空,就不會讓最後成果混亂了

有這慘痛的經驗,勢必要把這項功能學好!

1. 認識HEAD 自由穿梭

HEAD像是自己的頭,想看哪就到哪,在沒有下指令調整的時候,就是一路向前看
所以預設會看到 目前分支+最新提交的名稱 這個位置
每提交一次,就會再往前看

  • 新數據庫預設 HEAD指向 master 這個名稱的分支
指令 功用說明
git branch 查看所有分支(本地)
git branch -a 查看所有分支(本地+遠端)
git branch 分支名稱 新增分支
git checkout 分支名稱 切換分支,切換完用 git log指令會看到 HEAD -> 分支名稱,表示切換到分支了
git checkout -b 分支名稱 上面兩個指令合體,建立分支後切換過去
git branch -d 分支名稱 刪除分支
git merge 分支名稱 合併指定分支到目前的分支,假設分支做完,就可以checkout到master,把分支合併進來
git rebase 分支名稱 同樣是合併,但會把整個分支的歷程都併過去,而且對象相反,例如: a merge b 和 b rebase a,前者是把b分支合併到a內,後者是把a分支當做b的基礎版本

2. 建立tag 快速辨識

當git log查詢下來一堆hash,還要記下前四碼才能切換實在有點反人類,幫重要的版本做標籤會方便很多

指令 功用說明
git tag 查詢所有標籤
git tag -n 查詢所有標籤+說明
git tag -l 關鍵字 關鍵字查詢標籤,如果有版本號可以直接打數字方便查詢
git show 標籤名稱 查詢指定標籤詳細資訊
git tag 標籤名稱 新增標籤
git tag -am 說明 標籤名稱 新增標籤+說明,註解越多、別人越容易掌握脈絡
git tag -d 標籤名稱 刪除標籤

3. 副本開不完 暫離一下

當做 A專案到一半,突然 B專案的靈感乍現或是被老闆指派去救援 C專案,就用 stash把現在的工作先記著,等回來之後直接叫出來就好

指令 功用說明
git stash 建立當前目錄暫存
git stash list 查看所有暫存
git stash pop 還原暫存
git stash drop 刪除最新暫存
git stash clear 刪除全部暫存

進入各種穿梭、合併和刪除後開始變得複雜,自己搞也是沒有什麼實戰感,可以利用上面分享的 LearnGitBranching挑戰各種練習,明天繼續更新 Git篇!


上一篇
[Day6] Git版本控制 - 基本操作篇 (MacOS)
下一篇
[Day8] Git學習筆記 -RE篇(MacOS)
系列文
MacOS新手操作指令學習紀錄,成為裝B前端工程師之路33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言