教學錄影
Git 是一個版本控管軟體。所謂的版本控管,就是可以幫忙保存軟體發展過程中,所有修訂的歷史記錄,這包括軟體有哪些分支?怎麼分的?怎麼合的?有哪些檔案?哪些內容?誰改了什麼?何時改的?等等。這些記錄可以根據使用者的需要隨時調閱切換,舉一個假想的故事來說。
甲公司發行了一個軟體,發行的軟體代碼是 R3.0,並且有很多的使用者。甲公司有 2 名軟體工程師,稱為 A 和 B。最近甲公司想要在軟體中增加一個新功能,老板請 A 進行程式撰寫。於是 A 先從 R3.0 分出一個新的嘗試分支,代號為 T1,並且開始在 T1 的分支裡面工作。A 的嘗試功能還沒有完成,但是有人反應已經在使用的 R3.0 軟體出現嚴重的 Bug,甲公司必須先解決這個問題。於是甲公司請 B 來解決已經發現的問題,同時讓 A 繼續開發 T1。這個時候,B 從 R3.0 的分支,又分出一個用來除錯的分支叫 Fix1,並在這個分支中修改已發現的 Bug。經過一番努力,B 總算把發現的 Bug 修正好並測試完畢。於是 B 切回到 R3.0 的分支,同時將 Fix1 的修正程式碼合併到 R3.0 中,並給予合併的版本一個新的代號 R3.1,接著甲公司發行了這個修正的版本 R3.1,算是解決了使用者所發現的問題。又經過一段時間,A 總算把嘗試的功能完成了,現在他必須把這個新的功能整併到 R3.1 中。於是 A 切回到 R3.1 的版本,並下了一個合併 T1 分支的指令,git 很聰明地自動把 R3.0 到 T1 之間的變化合併到 R3.1 中,而這個新的合併版本不僅是已修正 Bug 的版本,同時也具有 A 所開發的新功能。他們決定把這個版本標記為 R3.1.1,並且同意未來會共同使用 R3.1.1 版本繼續進行軟體的開發。
這個假想的故事,就是 Git 可能的用途之一。基本上只要是寫軟體,即使是個人開發,老師都建議你可以學習一下 Git 的使用方法。