iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
Software Development

用樂高玩轉 GIT 版本控制 系列

自己及團隊使用 GIT 作專案的版本控制工具已有幾年的經驗,也曾經協助一些團隊從無到有導入,這些經歷中偶爾就會遇到夥伴懂得使用 add、commit、pull、push 指令,但真的遇到相對複雜的情境,如程式碼解衝突、分支的建立合併時,卻不知道該怎麼處理的窘境。在討論後發現,原因常常是在學習初期對於 GIT 底層的原理知其然而不知其所以然,不夠熟悉每個指令的背後發生了什麼事情所致。因此,我想將自身累積的相關經驗,透過樂高積木製作的過程說明來描述 GIT 版本控制,用不一樣的角度,讓更多 GIT 使用者更容易了解指令的底層,進而不再害怕面對較複雜的情境。

鐵人鍊成 | 共 30 篇文章 | 80 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21 - 如何讓 GIT 的線圖更整齊好閱讀,談 GIT 合併的各種方法

今天完全沒有樂高,在 Day 20 的內容中,我們提到了與遠端溝通時,當遠端共用區的儲存庫有新物件,而本地儲存庫也有新物件時,進行 git pull 其實就等同...

2019-10-07 ‧ 由 墨嗓 分享
DAY 22

Day 22 - 雜談更多的 GIT 合併方法以及怎麼復原已更新到儲存庫的 commit

在 Day 21 提到了兩種讓共用儲存庫的線圖更整齊好閱讀的方法,分別是: 整理在一直線:在更新到遠端儲存庫之前,先針對目前的遠端儲存庫操作一次 rebas...

2019-10-08 ‧ 由 墨嗓 分享
DAY 23

Day 23 - 為 OpenSource專案協作談 Fork、Pull Request(PR) Merge Request(MR)

現今許多 OpenSource 專案都會使用 GIT 作版本控制,也使用 GitHub、GitLab 等作為共用儲存庫,而通常這些專案,除了有主要的開發人員,也...

2019-10-09 ‧ 由 墨嗓 分享
DAY 24

Day 24 - GIT 狀況題 01 要怎麼樣把目前所在的分支標籤,移動到相同基點的其他分支上?

在 Day 1 的時候,有提到,平常遇到 GIT 使用上碰到的難題,常常是對於 GIT 的概念上突然打結,而導致突然無法解決眼前的難題。鐵人賽至今,關於 GIT...

2019-10-10 ‧ 由 墨嗓 分享
DAY 25

Day 25 - GIT 狀況題 02 建立了分支之後,忘記 checkout 就 commit,該怎麼處理?

前一篇 Day 24 聊到透過幾個解法,把目前所在的分支移動到與自己相同基點的其他分支上。今天的這個題目是在 2019 年 ModernWeb 聽龍哥(高見龍)...

2019-10-11 ‧ 由 墨嗓 分享
DAY 26

Day 26 - GIT 狀況題 03 不小心把還沒合併到主分支的分支刪除了,該怎麼辦?

今天的狀況題是這樣的,某一個開發者,因為手上管控的分支太多,一個不小心把還沒合併到主分支且也沒有更新到遠端的分支刪除了,應該要怎麼救回這個分支? 情境概略可以這...

2019-10-12 ‧ 由 墨嗓 分享
DAY 27

Day 27 - GIT 團隊協作 談 流程管理 01 GitFlow

隨著產品或專案越來越壯大,大部分的團隊也會開始思考透過改善團隊的開發流程,提升產品的品質,例如,在原始碼的品質管理上,開始導入單元測試、整合測試、提倡持續整合、...

2019-10-13 ‧ 由 墨嗓 分享
DAY 28

Day 28 - GIT 團隊協作 談 流程管理 02 GitHub Flow

在上一篇中,提到了 GitFlow,這個流程,對於各種狀態需要開不一樣性質的分支,且有時候只需要合併到一個分支,特殊情境,如 release、hotfix 又需...

2019-10-14 ‧ 由 墨嗓 分享
DAY 29

Day 29 - GIT 團隊協作 談 流程管理 03 GitLab Flow

在前兩篇,分別談了 GitFlow 及 GitHub Flow 兩種常見的 GIT 工作流程,使用上,GitFlow 常常被詬病流程太複雜,團隊成員如果對 GI...

2019-10-15 ‧ 由 墨嗓 分享
DAY 30

Day 30 - GIT 團隊協作 談 除了流程外的一些使用原則

在團隊使用 GIT 作為專案版本控制工具的過程中,除了團隊成員對於 GIT 需要有一定的掌握度,內部使用流程的挑選及制訂也是很重要的一環。除此之外還有一些非流程...

2019-10-16 ‧ 由 墨嗓 分享