iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
1

工作上常常會需要取得遠端 GitHub 的 branch 或將遠端的 branch 抓到本地端做修改,但在寫這篇文章之前,我都是使用 Fork 或 Source Tree 這類 GUI 做操作,沒有深入理解兩者的差別,想趁著這個機會了解以下這兩個東西的使用。

git fetch 的過程中發生了什麼事情?
將 origin 有但 local 沒有的版本記錄更新到本機上

什麼時候使用 git pull
想要遠端的 branch 和本地端的 branch 同步的時候。
git pull 其實是 git fatch + git merge 的組合,簡單來說就是先將遠端的版本記錄複製到本機,再將遠端和本地關係為 upstream 的分支透過 fast-forward 的方式合併。

什麼是 fast-forward ?
合併分支時,如果 被合併進去的分支(master) 狀態沒有被更改過,這樣就可以說合併進去的分支(origin/master) 包含所有 master 的歷史記錄,這樣就只要將 master 分支的位置移動到 origin/master 的最新位置上就好,這樣的合併方式被稱為 fast-forward 合併。

參考資料

Pull 下載更新
分支的合并
Git: 四種將分支與主線同步的方法


上一篇
undefined vs null
下一篇
Array.prototype.splice() & Array.prototype.slice()
系列文
那些我還沒深入理解就開始使用的東西30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言