1. 程式人生 > 其它 >git團隊協作

git團隊協作

集中式版本控制工具

CVS、SVN(Subversion)、VSS....
集中化的版本控制系統,都有一個單一的集中管理的伺服器,儲存所有檔案的修訂版本,協同工作的人們都通過客戶端連到這臺伺服器,取出最新的檔案或者提交更新

優點

每個人都可以在一定程度上看到專案其他人正在做些什麼,管理員也可以輕鬆掌控每個開發者的許可權,並且管理一個集中化的版本控制系統要更加容易

缺點

中央伺服器的單點故障。如果伺服器宕機一小時,那麼在這一小時內,誰都無法提交更新,就無法協同工作

分散式版本控制工具

Git、Mereurial、Bazaar、Darcs...
像Git這種分散式版本控制工具,客戶端提取的不是最新版本的檔案快照,而是把程式碼倉庫完整的映象下來(本地庫)。這樣任何一處協同工作用的檔案發生故障,事後都可以用其他客戶端的本地庫進行恢復。因為每個哭護短的每一次檔案提取操作,實際上都是一次對整個檔案倉庫的完整備份。

分散式的版本控制系統出現之後,解決了集中式版本控制系統的缺陷

  1. 伺服器斷網的情況下也可以進行開發(因為版本控制式在本地進行的)
  2. 每個客戶端八寸的也都是整個完整的專案(包含歷史記錄,更加安全)

Git歷史

L大神花了兩週開發出Git,花了兩週測試,共一個月...。

Git工作機制

Git有三塊

  1. 工作區 寫程式碼,程式碼的存放目錄(可以刪除)
  2. 暫存區 臨時儲存(可以刪除)
  3. 本地庫 歷史版本,無法刪除 (只能刪庫跑路...)

Git和程式碼託管中心

程式碼託管中心是基於網路伺服器的遠端程式碼倉庫,一般我們簡單稱為遠端庫

區域網

GitLab

網際網路

GitHub(外網)
Gitee(國內網站)

常用命令

命令名稱 作用
git config --global user.name 使用者名稱 設定使用者簽名
git config --global user.email 郵箱 設定使用者簽名
git init 初始化本地庫
git status 檢視本地庫狀態
git add 檔名 新增到暫存區
git commit -m "日誌資訊" 檔名 提交到本地庫
git reflog 檢視版本記錄
git log 檢視詳細日誌
git reset --hard 版本號 版本穿梭

分支的操作

命令名稱 作用
git branch 分支名 建立分支
git branch -v 檢視分支
git checkout 分支名 切換分支
git merge 分支名 把指定的分支合併到當前分支上

要切換到master分支再執行分支和並