版本控制與GitHub專案建立介紹
什麼是版本控制?
版本控制是一個能夠記錄一個或一組檔案在某一段時間的變更,使得使用者以後能取回特定版本的系統。
版本控制最常用的架構又分為集中式版控和分散式版控
集中式版本控制系統
集中式版本控制系統(Centralized Version Control Systems,簡稱CVCSs),是具備單一伺服器,記錄所有版本的檔案,且有多個客戶端從伺服器從伺服器取出檔案。
分散式版本控制系統
分散式版本控制系統(Distributed Version Control Systems, 簡稱DVCSs),客戶端不只是取出最後一版的檔案,而是完整複製整個儲存庫。 即使是整個系統賴以運作的電腦損毀,皆可將任何一個客戶端先前複製的資料還原到伺服器。 每一次的取出動作實際上就是完整備份整個儲存庫,而本篇介紹的Git版本控制軟體就是屬於此類型系統。
集中式版控 vs. 分散式版控
集中式版控 | 分散式版控 | |
優點 | 1.所有版本集中於伺服器端管理,可選用鎖定或合併等版控策略 2.較為精細的權限控管(針對目錄或檔案) |
1.每位開發人員會保有完整的儲存庫,等於每個人都擁有完整的儲存庫備份 2.可以在本地端建立離線的版本與歷史紀錄,建立版本時不需要網路連接 |
缺點 | 沒網路就無法進行版本控管,其中包含: 1. 依然可以進行本地開發,但無法提交新版本 2. 無法查詢歷史紀錄 (或取出先前提交的歷史版本) |
無法採用鎖定版控策略 (僅能使用合併策略),無法對專案進行精細的權限控管 |
GITHUB介紹
GitHub是一個透過Git進行版本控制的軟體原始碼代管服務的公司,提供付費帳戶和免費帳戶。這兩種帳戶都可以建立公開的代碼儲存庫,但是付費帳戶還可以建立私有的代碼儲存庫。
建立本地端Repository和GitHub平台上Repository
安裝git,依照不同的OS去安裝Git,如下
Linux-ubuntu平台
apt-get install git
Linux-centos平台
yum install git
Windows平台
https://git-for-windows.github.io/
安裝好後打開 Terminal 到所在的專案資料夾,依照下面指令輸入
#建立 git 本地端 repository (儲存庫)
$ git init
#設定識別資料
#安裝Git後首先應該做的事是指定使用者名稱及電子郵件帳號。 這一點非常重要,因為每次Git提交會使用這些資訊,而且提交後不能再被修改:
$ git config –global user.name “(你的username)"
$ git config –global user.email (你的email信箱)
#儲存當前進度的指令
#將資料夾內全部檔案收錄進版本控制資料庫
$ git add .
$ git commit -m “本次儲存進度名稱"
EX: $ git commit -m “Initial commit"
#查看目前狀態,包含所在分支跟尚未儲存(commit)的明細
$ git status
以上就完成本地端的git repository
接下來要把本地端的repository更新上自己帳號的github平台
申請GITHUB帳號
建立GitHub Repository
登入GitHub帳號,點選Start Project
輸入Repository name,建立Repository
回到你的 Terminal 到所在的專案資料夾
#新增遠端repository
$ git remote add origin (你的遠端repository url)
#推上遠端repository
$ git push -u origin master
這樣就成功的建立GitHub專案的Repository囉!!
參考資料:https://git-scm.com/book/zh-tw/v1/
Comments (2)
Magento 的檔案很龐大, GitHub上傳不上去,能提供解法方法嗎
Hi Eddie
要設定.gitignore,把程式碼的檔案忽略不上傳至github
此網址為magento1 .gitignore範例:https://github.com/github/gitignore/blob/master/Magento.gitignore