0%

Git 細節

這篇文章內容主要探討 Git 相似的名詞,記錄下來避免未來忘記

  • masterorigin/master 
  • fetchpull
  • rebasemerge

master vs. origin/master

master: 本地端分支
origin/master: 遠端分支

更白話的說,本地端有一個 master 分支,當我們進行 git push,會複製一份本地端 master 到遠端 origin ,也就是 origin/master 分支囉!

fetch vs. pull

fetch: 從 remote repository 取得最新的版本,這裡舉動同時會自動建立分支FETCH_HEAD,而這被撈下來的版本會自動放進此分支
pull: 從 remote repository 取得最新的版本並直接將遠端分支 origin/master 進行合併提交

一個 pull 等同於 
1. fetch 
2. merge origin/master

rebase vs. merge

假設,目前我們有兩個分支 A、B,且此時我們在 分支 B

rebase: 將 A 當作基底,並將 B分支 的內容嫁接在 分支A 後方 (兩條變一條的概念),值得注意的一點是,因為 提交位置 更動了,所以 SHA-1 會重新計算!
merge: 將 A 合併進分支 B,並產生一個額外的 提交


reference: