自己及團隊使用 GIT 作專案的版本控制工具已有幾年的經驗,也曾經協助一些團隊從無到有導入,這些經歷中偶爾就會遇到夥伴懂得使用 add、commit、pull、push 指令,但真的遇到相對複雜的情境,如程式碼解衝突、分支的建立合併時,卻不知道該怎麼處理的窘境。在討論後發現,原因常常是在學習初期對於 GIT 底層的原理知其然而不知其所以然,不夠熟悉每個指令的背後發生了什麼事情所致。因此,我想將自身累積的相關經驗,透過樂高積木製作的過程說明來描述 GIT 版本控制,用不一樣的角度,讓更多 GIT 使用者更容易了解指令的底層,進而不再害怕面對較複雜的情境。
今天的內容硬要跟樂高有關連,我大概會這樣說,當我們編輯樂高製作手冊,編輯到一半,還沒正式寫進手冊裡,但,我不想要目前編輯到一半的內容了,我該怎麼辦?但,我想不到...
還記得 Day 08 的樂高案例劇情嗎?當有人將一個樂高手冊的基礎版本,分享出來,有兩個網友同時基於這個基礎版本,各自實作自己的手冊。現在 A 網友發現 B 網...
在上一篇的內容中,提到了 Merge 其實就是在合併的點上,把與本身不一樣的地方,實作一次,做成動畫大概類似底下的圖示: 而如果自己完全還沒有任何變更,只有預...
今天來談 git rebase,這是一個對於剛開始學 GIT 的人,常常覺得有點混亂複雜的指令,他究竟在做什麼呢?今天的一開始,我們先用樂高手冊組裝來舉個例子:...
在樂高手冊上,如 Day 14 上的內容,如果劇情變更成,A 版作者覺得 B 版作者的「步驟 1 (B1):變更內容,在橫條基板右上角放上一格綠色樂高」很好很...
在 Day 14 的內容中,提到 git rebase 的概念是「把 commit 所代表的步驟,試著在新的基點再做一次」,而正因為,每一個 commit,紀錄...
之前的幾篇,談了 GIT 的 merge、rebase 及 cherry-pick提到的例子因為有先做過設計,所以合併或移動通常都會很順利,但實務中當共同使用儲...
之前的幾天,談了許多在本地儲存庫的操作,一直都還沒提到該怎麼與其他人一同共用儲存庫,今天的主題會以發布到網路上為軸心,跟大家介紹關於把 GIT 儲存庫發佈到網路...
在 Day 18 的內容中,提到了可以使用 git push 指令把本地的儲存庫發送到共同的儲存庫中心,那麼共用儲存庫與本地儲存庫之間要怎麼溝通呢? 這個所謂的...
在 Day 19 的時候,我們提到可以使用 git push 及 git fetch 兩個指令把本地的 GIT 儲存庫狀態物件與遠端的共用儲存庫做 GIT 的物...