# Git(2/3) Day 3 五倍紅寶石(第八屆共筆)(2021/6/30) ## Git Branch真面目: 像是影分身之術+定點存檔(神奇寶貝中心)的概念, 可以同時有很多個,如果任務失敗可以Reload繼續奮鬥。 本質為一張貼紙,撕了燒毀也不痛不癢,貼在commit上,單純做標示用。 Why? 極低成本用來測試新東西。 When? 想做新測試或多人協作時。 ### HEAD: HEAD只有一個 = Where am I = 目前位置, 除了可以指在分支也可以指在Commit上, 被HEAD指到的分支Commit後會往前移動。 ### 切換分支後發生的兩件事: 1. HEAD會移過去。 2. 專案的狀態會變成目標的形狀。 **Commit永遠都在,可以用HEAD或分支看管,沒有被看管就會變透明人**。 ## 合併: 通常用在多人協作,把各自做的進度合併在一起。 遇到檔名一樣的Git會試著自動合併, 若發生衝突,Git看不懂的會出現提示,用文字編輯器修改即可。 ### Merge:(靈魂收割者) **收割別人的成果**,HEAD指到的為收割者。 分支都在同一條上:前面(初期)的分支要Merge後面(後期)的,會使用快轉模式(Fast Forwawrd)進行合併。 分支在不同線上:被HEAD指到的會往前走,合併點裡會有另外一條分支的形狀。 When? 覺得過去紀錄很重要。 優點:歷史紀錄清楚。 ### Rebase:(複製貼上) 把HEAD所在分支**複製**後貼到別的分支後面, 原分支因為沒人看管所以變透明人了。 When? 過去不重要,把專案做完就好了。 優點:簡潔。 ## Git: ![](https://i.imgur.com/NTVS9nW.png) Git原檔:https://www.xmind.net/m/AanNmA ###### tags: `Git`