git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案,可以有效、高速的處理從很小到非常大的專案版本管理。
git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體
git是由linus編寫的,這個名字應該不會陌生,著名的linux就是linus的傑作!(厲害的人幹啥都厲害),雖然linus建立了linux,但是linux的壯大是由全世界熱心的參與者共同努力的結果,而在2023年以前,世界各地的志願者把源**檔案通過diff的方式發給linus,然後由linus本人通過手工方式合併**!
可想而知linus的心有多累,但在2023年linus選擇了乙個商業的版本控制系統bitkeeper,bitkeeper的東家bitmover公司出於人道主義精神,授權linux社群免費使用這個版本控制系統
但是由於某種原因bitmover公司在2023年收回了linux社群的免費使用權。然後linus花了兩周時間自己用c寫了乙個分布式版本控制系統,這就是git!乙個月之內,linux系統的原始碼已經由git管理了!(厲害的人幹啥都厲害)
git迅速成為最流行的分布式版本控制系統,尤其是2023年,github**上線了,它為開源專案免費提供git儲存,無數開源專案開始遷移至github,包括jquery,php,ruby等等。
◆ 本地版本控制系統
◆ 集中化的版本控制
◆ 分布式的版本控制
▓▓▓▓▓▓ 本地版本控制系統
大多的本地版本控制系統都是採用某種簡單的資料庫來記錄檔案的歷次更新差異
▓▓▓▓▓▓ 集中化的版本控制系統( centralized version control systems,簡稱 cvcs )
集中式版本控制系統,版本庫是集中存放在**伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從**伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給**伺服器。**伺服器就好比是乙個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。
集中式版本控制系統有幾個明顯的缺點:
1、如果遇到**伺服器故障,那麼誰都無法進行提交,也就無法進行協同工作
2、必須聯網進行操作
▓▓▓▓▓▓ 分布式的版本控制系統( distributed version control system,簡稱 dvcs )
客戶端並不只提取最新版本的檔案快照,而是把**倉庫完整地映象下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何乙個映象出來的本地倉庫恢復。因為每一次的提取操作,實際上都是一次對**倉庫的完整備份。
分布式版本控制系統根本沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有乙個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案a,你的同事也在他的電腦上改了檔案a,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了
廖雪峰的官方**-git教程
code幫助文件-progit中文版
Git學習之路(1) Git簡介
git是一款免費 開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案,可以有效 高速的處理從很小到非常大的專案版本管理。git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體 git是由linus編寫的,這個名字應該不會陌生,著名...
Git教程 1 Git簡介
目錄 1.簡介 2.git的誕生 3.集中式 vs.分布式 git是目前世界上最先進的分布式版本控制系統 沒有之一 git的特點是高階大氣上檔次!那什麼是版本控制系統?如果你用microsoft word寫過長篇大論,那你一定有這樣的經歷 想刪除乙個段落,又怕將來想恢復找不回來怎麼辦?有辦法,先把當...
Git學習筆記1 Git原理簡介
git 是乙個分布式的版本控制工具,如果想用github等版本控制系統,核心就是git,下面簡單介紹一些git的基礎原理,原文 git不像傳統的vcs將程式按檔案存放管理 如下圖 當有檔案有改動時,下個version會將整個改動的file複製。這樣的管理方式既費事,又占用大量冗餘空間。而git訪問方...