Git + GitHub 版本控制教學 - 介紹

現在程式語言百百種,軟體工程師能做的領域是五花八門。跟你一起資工系念四年畢業的同學們現在做的事情可能都八竿子摸不著邊。開同學會如果要硬聊,程式版本控制可能是個大家還能一起聊的話題。現代軟體工程領域裡面,版本控制基本上是寫程式的必備工具。

什麼是 Git ?

Git 是一種版本控制的工具。還記得小時候玩的仙劍奇俠傳嗎?(你的小時候可能玩的是其他遊戲...)這些單機遊戲允許你隨時存檔讀檔,哪裡玩不好就從之前某一個點再試一次。

版本控制也就是這麼一回事,你可以在任何時間點存檔(commit),也可以在任何時間點讀檔(checkout)。今天這版寫一寫可能不滿意或是有 bug 找不到,一氣之下都能回到之前的版本。(如果之前有 commit 的話)

什麼是 GitHub ?

GitHub 做的事情就是在遠端架設一個平台,讓你的這些存檔可以放在上面。要知道市面上大部分的產品都是經由團隊開發而來,如果遠端有這麼個空間可以讓團隊們在上面共同開發同一份程式碼的話,可以減少很多檔案整合的麻煩。

能提供這種服務的, GitHub 只是其中之一。市面上還有很多產品做的事是一樣的,譬如 BitBucket、GitLab 等。大公司像 Google 及 Facebook 等通常自己會有一套版本控制的平台。

什麼時候要用版本控制?

基本上任何時候都需要使用。當你開一個新專案的時候,你就應該要把版本控制給建立好。

Photo by Yancy Min / Unsplash

第一個 Git 的指令

你的第一個 Git 指令會是 git init,當你下了這個指令後,它會在你的專案底下生成 .git 這個資料夾。所有版本控制的魔法都是在這裡面發生,我們不需要也不應該對這個資料夾做改動,我們會透過 Git 提供的指令去做各種版本控制的操作。

接下來可以用 git help 來看看 Git 到底提供了哪些指令給我們:

當然 Git 能做的事情遠不止讀檔存檔這些。想想看在跟團隊合作的時候,你跟你的隊友小明分別要在同一份程式碼上面開發各自的新功能。假如小明的功能先做完了,你得要去把他的 code 抓下來,然後把你這邊的改動合進去。一聽就覺得很複雜對吧?

Git 能做的一項強大的功能就是幫你們處理程式碼整合的事情,只要簡單下個 git merge 或是 git rebase 相關的指令就可以了,更多細節可以繼續往下看後面的文章。

Git + GitHub 版本控制教學 (1) - 提交一個 commit
Git 最重要的功能之一就是 commit,也就是存檔的概念。我們可以隨時把檔案儲存,然後有需要時再隨時切回之前的版本。