git團隊協作
阿新 • • 發佈:2021-11-08
集中式版本控制工具
CVS、SVN(Subversion)、VSS....
集中化的版本控制系統,都有一個單一的集中管理的伺服器,儲存所有檔案的修訂版本,協同工作的人們都通過客戶端連到這臺伺服器,取出最新的檔案或者提交更新
優點
每個人都可以在一定程度上看到專案其他人正在做些什麼,管理員也可以輕鬆掌控每個開發者的許可權,並且管理一個集中化的版本控制系統要更加容易
缺點
中央伺服器的單點故障。如果伺服器宕機一小時,那麼在這一小時內,誰都無法提交更新,就無法協同工作
分散式版本控制工具
Git、Mereurial、Bazaar、Darcs...
像Git這種分散式版本控制工具,客戶端提取的不是最新版本的檔案快照,而是把程式碼倉庫完整的映象下來(本地庫)。這樣任何一處協同工作用的檔案發生故障,事後都可以用其他客戶端的本地庫進行恢復。因為每個哭護短的每一次檔案提取操作,實際上都是一次對整個檔案倉庫的完整備份。
分散式的版本控制系統出現之後,解決了集中式版本控制系統的缺陷
- 伺服器斷網的情況下也可以進行開發(因為版本控制式在本地進行的)
- 每個客戶端八寸的也都是整個完整的專案(包含歷史記錄,更加安全)
Git歷史
L大神花了兩週開發出Git,花了兩週測試,共一個月...。
Git工作機制
Git有三塊
- 工作區 寫程式碼,程式碼的存放目錄(可以刪除)
- 暫存區 臨時儲存(可以刪除)
- 本地庫 歷史版本,無法刪除 (只能刪庫跑路...)
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分支再執行分支和並