多人專案最麻煩的問題就是不同開發者之間,檔案互相蓋來蓋去
常常會發生因為覆蓋錯不同版本的檔案到開發目錄中,造成網站錯誤的慘劇。
最近趁有空的時間研究了一下PHP使用的版本控管工具
發現大家都很推Git
整理了一下入門的教學,希望對大家有幫助。
要裝Git前,必須先下載安裝檔案
[Windows先下載]
1.TortoiseGit & Chinese, traditional Language Packs
這是Git的GUI介面,可另外選擇語言包下載
2.msysGit
Git的主程式,因為附帶的GUI太鳥了,所以大家都建議另外安裝TortoiseGit這個GUI工具
安裝步驟
此篇己經有很完整的安裝說明了,直接參考它就好 XD
http://shaocian.blogspot.tw/2013/01/windows-git-msysgit-tortoisegit.html
開始使用Git
1.建立專案目錄
此範例用全新的目錄當SAMPLE,第一步就是要建立新目錄
然後在專案的目錄中按右鍵,選擇Git Create Repository here
如果是本機使用的專案管理Make it Bare千萬不要勾,這個選項是遠端存取用的,另一篇文章會說明它的用法
這個動作是把Git相關的資料產生到這個目錄中
如果成功,目錄中會多了一個隱藏的Git資料夾
這個資料夾就是Git用來放所有版本控管相關內容的地方,若專案資料夾要取消Git控管,只要刪除這個隱藏的資料夾就好
2.檔案加入版本控管的功能
我新增了一個index.html檔案,加了一些簡單的表單html
這樣這個資料夾就己經自動控管這些內容了嗎!?
當然不是= =
初始化資料夾後,這代表這個資料夾擁有版本控管的功能,但不代表資料夾中的檔案都己經被加入了版本控制。
這句話有點繞舌
簡單來說,就是您在這個資料夾中做的所有變更
都必須手動通知Git,將所變更的版本儲存。
如果有新加入的檔案,或沒被版本控管理的檔案,也要手動新增,新增方法如下
在資料夾的空白處按右鍵,選擇TortoiseGit->Add
第一次使用,它會跳出警告,要你先輸入您的名稱和email
輸入後就能進行下一步
接著Git會列出所有的檔案,您可以自由選擇哪些要加入版本控管,哪些不要,選擇完之後按OK就好
3.Commit所有的修改
將檔案加入後,我們就要版本管理中的第一個版本
Commit的意思,就是將所有的修改建立一個新的版本,方便隨時可以瀏覽與復原
在資料夾空白處按右鍵,選GetCommit->"master"
接著TortoiseGit會列出這個階段所做的修改
new branch就是問你要不要建立新的分支點(新的版本),可以隨時復原
Set commit date讓你輸入日期
Set author 設定作者
Message:輸入版本註解 ,不輸入不能按下OK
按下OK後,會出現commit相關的詳細訊息,下列訊息就代表完成。
4.建立新的分支版本
接著我再加了2個欄位與一張圖
commit到一個新的分支點,new branch勾起來,左邊文字方塊填入新的版本名稱,輸入message
下面那個視窗會列出所有的變更讓你確認,沒問題按OK後,就好了。
(好方便啊~以後我就不用再手動記錄修改的內容了~轉圈圈)
要看每個版本修改的內容,可以選TortoiseGit->Show log
會列出每個版本所修改的內容,讓你對照,所有修改一目瞭然,不會再有那種A說B蓋,B說A蓋,推來推去的情況發生了
證據都在這裡….誰做了什麼都清清楚楚
點選檔案還能看出修改了哪些內容,(修改的地方會用黃色標起來)
復原先前的版本
如果真的發生的改錯的悲劇,或者是客戶突然說之前的修改不要了,要回覆
我再也不用很幹的把檔案打開,修修改改原始碼了
只要按一個鍵就輕鬆復原,而且任意切換版本!
按OK後,所有的修改就都復原了
如果我還要再復原一次,就是從master復原到ver1,就用同樣的方式選擇ver1就可以輕輕鬆鬆的切來切去了
再也不用辛苦的備份和修改檔案了
如果我高興,要切換幾次都沒問題
ㄟ~我切過來了~我又切回去了,我又切回來了,再切回去了
這有沒有很棒!? 超棒的XD~~~
之前在寫.net時就有感受到版本控管軟體(TFS)帶來的好處
只不過一直沒在PHP找類似的軟體來用
但最近實在發生太多因為多人共同作業發生的慘案,也覺得手動控管非常沒效率,而且不安全,才Google了一下php在用的版本控管
Git很多人推
其實也不是沒原因
網路上教學文章很多,而且簡單好上手,我覺得還滿好用的,所以將心得發表在這裡,希望對想了解Git Windows使用方式的人會有幫助。
線上協同作業可參考另一篇文章
Windows版 Git UI入門教學-使用TortoiseGit和雲端硬碟進行協同開發
參考資料
Git教學:初學者使用心得分享(Windows)
http://www.mrmu.com.tw/2011/05/06/git-tutorial-for-beginner/
Windows 版本控制系統 Git ( msysGit, TortoiseGit )
http://shaocian.blogspot.tw/2013/01/windows-git-msysgit-tortoisegit.html
Windows 的Git — TortoiseGit & msysGit
http://www.barryblogs.com/windows-%E7%9A%84git-tortoisegit-msysgit/