git(一)之版本控制系統

一、前言

git系列只是這段時間對git進行了一段的整理所提煉出來自己的認識,正好可以發到博客來共享一下。

首先git是一個版本控制系統,我們在當前使用最多的地方就是工作中對他在代碼的版本控制的使用了。

二、正文

關於版本控制,Git在我們工作中的使用場景是對代碼的版本控制。

當前版本控制主要分爲兩大類,以svn爲代表的集中式版本控制,和以git爲代表的分佈式版本控制系統。

集中式是什麼意思呢,就是代碼的提交都只在一個確定的服務端即版本控制的庫,所有人down下來代碼之後做的修改最後都只能提交同步到遠程單獨的服務,如下圖所示;

而分佈式版本控制的git,對於我們每個執行clone遠程倉庫之後的文件夾,都是一個 單獨的本地倉庫,執行克隆後的本地倉庫文件夾, 是與遠程沒有任何在文件以及目錄結構的區別的,而且他們之間屬於平行的關係,只是建立起的遠程關係,如下圖所示。

而我們如果使用git,git當前的工作方式可能會誤導我們對這一塊的理解,像是我們大家使用git都把代碼提交至一個遠程倉庫,難道不是集中式嗎?我們只是找了一個對於大家來說相對穩定的遠程倉庫,大家把自己的代碼都相互同步更新到這個遠程倉庫而已。這個遠程倉庫只是給我們每個使用者提供的一個穩定的中間媒介而已。

其實如果我們團隊只有兩個人的話,極端情況可以不用遠程倉庫,兩個人把對方的倉庫當做同步的對象即可。希望大家能夠這樣理解。

分佈式版本控制系統相較於集中式版本控制系統的優點:

1. 分佈式可以在多個地方備份存儲數據,由於每個clone(克隆)後的倉庫都與遠程毫無區別,因此,一個出問題了,另外的可以補;

2. 而且可以在不用聯網的情況下,使用自己本地的倉庫提交代碼,等到有網絡環境時再同步

三、結語

作爲版本控制的系統,雖然我們當前僅僅把它作爲代碼的管理工具(雖然也是最搭的使用場景),但他的適用場景有太多太多了,比如我們的畢業論文,我們的述職報告,我們的年度總結,我們的日記本,甚至可以當做一個雲盤來使用,正好現在github已經開放了私人倉庫,這些都能更好的使用了。

這一塊是對版本控制系統的初步的概述。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章