今天學習了 git branch
可以先看到下面這張圖
假設我有一個參與的專案並且已經上線,專案本身有兩個 commit 紀錄,master
與 HEAD
都在第二個 commit 上。
那我今天想改個 bug ,又不想要改出來的東西被我改壞掉以至於整個專案被我毀掉的話,我就需要去開一個分支出來,在這個上面我想幹嘛就幹嘛,不會去影響到 commit 的紀錄,待確認完全沒問題後再合併到 master 裡去。
今天流程請見圖:
Step 1. 開分支
Step 2. 把 HEAD
移到 分支
上
Step 3. commit 分支
Step 4. 把 HEAD
移到 master
上
首先,打開終端機並進入昨天練習的目錄(昨天有練習了兩個 commit 的 project)
輸入 git branch 分支名稱
使用 git branch
看 HEAD
目前在哪裡,會發現我有兩個分支, HEAD
在 master
上
如果我要把 HEAD
切換到 ggg
上的話如何操作呢?
使用 git checkout 分支名稱
(昨天最後有補充到 git checkout
有切換分支作用)
再使用 git branch
看我的 HEAD
--到 ggg
惹~
先看一下我的 master
的 index.html
的樣子
--只有一個 h1 標籤
那我去修改我的 index.html (這時我的 HEAD
是在 ggg
上喲)
--新增了 h2 標籤
使用 git status
會看到我編輯了一個檔案
確認無誤後我就加入索引並作 commit 紀錄
如果我把 HEAD
移到 master
上,就會看到我的 html 變回原來的樣子
--哇嗚~好神奇(✪ω✪)
做完圖才發現 HEAD 是空心的喇,這點明天開始改進 ><
使用 -m
的參數就可以改名嚕!
--掰惹畏, master
也可以改名喲~
使用 -d
的參數即可刪除
--登愣~無法刪除! 醜一XDDDDD
可以看到 Git 很貼心的跟你說因為這個分支還沒完全合併所以不給刪,如果要刪除的話要使用 D
也就是大 d 來刪除
--哦耶,刪掉惹~
如果發現不給刪的情況,請確認 **HEAD** 是不是在那個分支上喲( • ̀ω•́ )
這時使用 -b
的參數就會幫你建立新的分支喲!
輸入 git checkout -b 新的分支名稱
就可囉!
以上,明天再繼續學習:)