Git(1) —— 版本控制
學習git之前,需要先明白的概念,版本控制!
1.什麼是版本控制/版本迭代
- 版本控制(Revison control)是一種在開發的過程中用於管理我們對檔案、目錄或工程等內容的修改歷史,方便檢視更改歷史記錄,備份以便恢復以前的版本的軟體工程技術
- 實現跨區域多人協同開發
- 追蹤和記載一個或者多個檔案的歷史記錄
- 組織和保護你的原始碼和文件
- 統計工作量
- 並行開發、提高開發效率
- 跟蹤記錄整個軟體的開發過程
- 減輕開發人員的負擔,節省時間,同時降低人為錯誤
- 簡單說就是用於管理多人協同開發專案的技術
- 沒有進行版本控制或者版本控制本身缺乏正確的流程管理,在軟體開發過程中將會引入很多問題,如軟體程式碼的冗餘、軟體過程的事務性、軟體開發過程中的併發性、軟體原始碼的安全性,以及軟體的整合問題
- 無論是工作還是學習,或者自己做筆記,都經歷過這樣一個階段!我們就迫切需要一個版本控制工具!
- 多人開發必須要使用 版本控制,否則代價會比較大!
2.常見的版本控制工具
- 學習當下最流行的!
- 主流的版本控制器有如下這些:
- Git
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Microsoft Visual SourceSafe)
- TFS (Team Foundation Server)
- Visual Studio Online
- 版本控制產品非常多(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault),現在影響力最大且使用最廣泛的是Git與SVN
3.版本控制分類
1.本地版本控制
- 記錄檔案每次的更新,可以對每一個版本做一個快照,或是記錄補丁檔案,適合個人用,如RCS
2.集中版本控制 (svm)
- 所有的版本資料都儲存在伺服器上,協同開發這從伺服器上同步更新或上傳自己的修改
- 所有的版本資料都儲存在伺服器上,協同開發者從伺服器上同步更新或上傳自己的修改;所有的版本資料都存在伺服器上,使用者的本地只有自己以前所同步的版本,如果不連網的話,使用者就看不到歷史版本,也無法切換版本驗證問題,或在不同分支工作。而且**,所有資料都儲存在單一的伺服器上,有很大的風險這個伺服器會損壞,這樣就會丟失所有的資料**,當然可以定期備份。代表產品:SVN、CVS、VSS
3.分散式版本控制 (代表產品:Git)
-
每個人都擁有全部的程式碼!安全隱患!
-
所有版本資訊倉庫全部同步到本地的每個使用者,這樣就可以在本地檢視所有版本歷史,可以離線在本地提交,只需在連網時push到相應的伺服器或其他使用者那裡。由於每個使用者那裡儲存的都是所有的版本資料,只要有一個使用者的裝置沒有問題就可以恢復所有的資料(以上特點可以看出Git針對性的解決了SVN的問題),但這增加了本地儲存空間的佔用(即分散式版本控制就是在一個公共伺服器[不是中央伺服器,分散式沒有中央伺服器]和所有使用者的計算機上都進行完整的備份,不管哪一個地方損壞,可以利用其他正常執行的站點進行同步,這樣資料就又可以恢復了)
-
使用Git不會出現SVN那樣因為伺服器損壞或者網路問題,造成不能工作的情況!
4.Git和SVN最主要區別
- SVN是集中式版本控制系統,版本庫是集中放在中央伺服器的,而工作的時候,用的都是自己的電腦,所有首先要從中央伺服器得到最新的版本,然後工作,完成工作後,需要把自己做完的活推送到中央伺服器,集中式版本控制系統是必須聯網才能工作,對網路頻寬要求較高
- Git是分散式版本控制系統,沒有中央伺服器,每個人的電腦就是一個完整的版本庫,工作的時候不需要聯網了,因為版本都在自己電腦上。Git系統的工作方法:比如說自己在電腦上改了檔案A,其他人也在電腦上改了檔案A,這是,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。Git可以直接看到更新了哪些程式碼和檔案!
- Git是目前世界上最先進的分散式版本控制系統
相關文章
- Git學習1 --- 版本控制工具詳細介紹Git
- Git 版本控制工具的使用Git
- git引入_版本控制介紹Git
- 版本控制系統之gitGit
- Git分散式版本控制工具Git分散式
- Git程式碼版本控制流程Git
- git 入門教程之版本控制Git
- 版本控制工具——Git常用操作(下)Git
- 版本控制工具——Git常用操作(上)Git
- Git版本控制系統安裝Git
- Git版本控制與優缺點Git
- 『現學現忘』Git基礎 — 1、版本控制系統介紹Git
- Git 版本控制系統的完整指南Git
- 一、Git分散式版本控制系統Git分散式
- 集中式版本控制與分散式版本控制——Git 學習筆記01分散式Git筆記
- 使用git不希望檔案被版本控制Git
- Git打標籤與版本控制規範Git
- Git新手教程-什麼是版本控制(一)Git
- git使用系列01-->版本控制介紹Git
- 搭建私有git伺服器進行版本控制Git伺服器
- 版本控制軟體Git的安裝與使用Git
- Git與其他版本控制系統的區別Git
- Consul Config 使用Git做版本控制的實現Git
- git移除已經加入版本控制的檔案Git
- 自建Git Server 並使用Git進行Unity版本控制及Git workflow(一、安裝git server)GitServerUnity
- 版本控制系統之基於httpd搭建私有git倉庫httpdGit
- git回退版本Git
- GIT版本管理Git
- 版本管理GitGit
- Git 開源的版本控制系統-05-tags 標籤管理Git
- Git 開源的版本控制系統-02-base usage 基本用法Git
- 整理課程中將程式碼納入Git程式碼版本控制Git
- 採用GIT作為版本控制與線上程式碼釋出Git
- Git 版本控制:構建高效協作和開發流程的最佳實踐Git
- Git清空版本庫Git
- git版本回退Git
- 【Android】22.0 許可權處理(四)——應用程式版本控制:Git的使用AndroidGit
- 實現git版本控制中專案某一個檔案可以不提交,只在本地git生效,不影響線上gitGit