version control software
TRANSCRIPT
Version Control Software
黃雯玲、黃偉鑫、周聖滄、王建凱、戴福、鄭治中
Why should we use version control?• 是維護工程藍圖的標準作法,能追蹤工程藍圖從誕生一直到
定案的過程。此外,版本控制也是一種軟體工程技巧,藉此能在軟體開發的過程中,確保由不同人所編輯的同一程式檔案都得到同步。
Local 式版本控制在「自己的電腦裡」,建立一個版本資料庫即使沒網路也可使用問題:如何協作?
中心式版本控制在一台 Server 上,儲存所有的版本記錄
從裡頭 Checkout 將變更 Commit 上去
Subversion ( SVN )是主流
問題: Server 會壞! 開發太亂!
分散式版本控制大家都有完整資料庫,大家都能獨立工作
Server 壞了不要緊,拿到一份好的資料庫灌回去就可以全部復原!
現在爆紅的 Git 、 Mecurial 、 Bazaar 都屬此類
問題:亂成一團 !
用好的 Branch 機制來解決!
What is Git?• Git 最強大的一個特點就是可以無窮無盡的開 branch ( 分
支 ) ,好處就是今天不論是修 Bug ,開發新功能,或是研究都非常的方便。
• Git 和其他版本控制系統(如 CVS )有不少的差別, Git 本身關心檔案的整體性是否有改變,但多數的 CVS 或 Subversion系統則在乎檔案內容的差異。因此 Git 更像一個檔案系統,直接在本機上取得資料,不必連線到主機端取得資料。
• 支援非線性的開發,大家都可以自己改,改完合併來合併去,不必受到一條主線 (master) 的拘束
• 快速、完全分散式,可以處理超大的資料量
Git不是記「檔案的差異」,而是記錄「檔案的快照」
File status使用 git status 來檢查檔案狀態
Git 基本指令介紹Git add 新增檔案 Git remote 維護遠端檔案
Git status 看目前的狀態
Git checkout 切換 branch
Git diff 有哪些資料不同
Git log 查看 log
Git show 查看修改內容
Git revert 還原
Git merge 合併
Github- 分散式版本控制的殺手級應用• GitHub 是一個用於使用 Git 版本控制
系統項目的共享虛擬主機服務。
• 簡單來說就是圖形化網頁版的 Git
• “Git hub 用的好 ,開發軟體沒煩惱”
• Git hub 是一個共享的平台,假如你有隱密的程式碼,請不要 push 上去
Thanks for your listening
Use git now!