No more IE!請試著使用FirefoxGoogle Chrome等瀏覽器瀏覽
標頭的可愛Alaskan Malamute來自維基百科~

2011年5月6日 星期五

用Git做版本控制,輕鬆管理程式碼或任何重要文件!

為什麼要用Git?或者再將問題擴大一點,為何要做版本控制

故事是這樣的...

在最近的日子裡,我不斷地在和程式碼(作業)搏鬥,最後,我輸給了自己的精神力,連續熬夜多日的我已經無法與Bug對抗,只能任其宰割。找到一個Bug,花上半天將它修改好,之後發現另一項錯誤,重新修改後發現之前已經修好的Bug又被我改回來了,又努力了好久企圖找出問題,試著改改程式碼,但這下可好,Bug居然變種了囧,我完全不記得自己做過什麼事情,在四百行Code裡茫然若失,不知不覺又因為遲交被多扣了二十分......

究竟發生什麼事情了?想必大家看完以上的敘述都能理解了吧。同樣的情形是否也可能出現在其他地方呢?寫作業、寫自傳、寫小說、寫網頁......,ect,也是有可能出現一樣的問題吧,修改之後存了檔,過幾天後回來看總覺得有哪裡被改爛了,過去的內容卻早就不翼而飛。所謂的版本控制可說是為了解決這問題而生的!(多人共同工作時更有其他妙用)


Git是一種版本控制系統,可以為您紀錄檔案在何時被加入,何時被修改,改了哪裡,是誰在什麼時候為了什麼而改的,將被分別修改過的檔案合併......等等,這真是我的救星QQ

把版本控制的流程畫出來差不多就長這樣:

來自:http://nvie.com/posts/a-successful-git-branching-model/


從今天開始我寫程式都將會導入Git進行版本控制,再也不要被Bug玩弄了QQ

其實版本控制系統也有很多種,並非只有Git。但為何我選擇Git呢?隨緣
底下這個網頁非常清楚地說明了為何Git是最好的:
Why Git is Better Than X

而我最看中它的一點是它和Linux有關係可以輕鬆建立本地端的Repository,我這個小咖只要用單機版就很夠了,這種愈輕量的東西愈好。而且得利於它的分散式架構,就算以後我真的想要將專案發佈到線上也非常容易,能夠輕鬆的轉換,真是一舉數得~



底下附上我收集的相關連結和教學:(第一個連結真的太讚了!!)
寫給大家的 Git 教學
Git 版本控制 branch model 分支模組基本介紹 | 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
Git 版本控制:利用 git reset 恢復檔案、暫存狀態、commit 訊息 | 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
[Git] 版本控制: 如何使用標籤(Tag) | 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
Linux & Ocarina: 迷人的 git
Git 初學筆記 - 指令操作教學 | Tsung's Blog
Git 初學筆記 - 實作測試 | Tsung's Blog
Git 版本控制系統 (1) | ihower { blogging }
[ 小黑宅 ]: 初探 git 版本控制系統
Git Submodule 的常見錯誤
给ubuntu下的git添加颜色 - Meebe
Git Study
阿偉的個人天地 » Git rebase 的應用經驗
Tutorial on Git / 白話文Git教學 | Thoy's
解決在 Ubuntu Terminal 底下 git diff 沒有輸出結果 10.10 | 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
Simple daily git workflow - Naked Startup
Git Magic - 章 2. 基本技巧
Welcome to O'Reilly Taiwan!

補充:
Git Cheatsheet
Pro Git中文版
git ready - learn git one commit at a time
用Git管理Google code