Git學習之路(1)-Git簡介

来源:http://www.cnblogs.com/qqandfqr/archive/2017/01/23/6345037.html
-Advertisement-
Play Games

▓▓▓▓▓▓ 大致介紹 Git是一款免費、開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的項目,可以有效、高速的處理從很小到非常大的項目版本管理。 Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體 ▓▓▓▓▓▓ Git的誕生 G ...


▓▓▓▓▓▓ 大致介紹

  Git是一款免費、開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的項目,可以有效、高速的處理從很小到非常大的項目版本管理。 

  Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體

 

▓▓▓▓▓▓ Git的誕生

  Git是由Linus編寫的,這個名字應該不會陌生,著名的Linux就是Linus的傑作!(厲害的人幹啥都厲害),雖然Linus創建了Linux,但是Linux的壯大是由全世界熱心的參與者共同努力的結果,而在2002年以前,世界各地的志願者把源代碼文件通過diff的方式發給Linus,然後由Linus本人通過手工方式合併代碼!

  可想而知Linus的心有多累,但在2002年Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出於人道主義精神,授權Linux社區免費使用這個版本控制系統

  但是由於某種原因BitMover公司在2005年收回了Linux社區的免費使用權。然後Linus花了兩周時間自己用C寫了一個分散式版本控制系統,這就是Git!一個月之內,Linux系統的源碼已經由Git管理了!(厲害的人幹啥都厲害)

  Git迅速成為最流行的分散式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。

 

▓▓▓▓▓▓ 版本控制

    ◆ 本地版本控制系統

    ◆ 集中化的版本控制

    ◆ 分散式的版本控制

    

    ▓▓▓▓▓▓ 本地版本控制系統

      大多的本地版本控制系統都是採用某種簡單的資料庫來記錄文件的歷次更新差異

 

                        

 

 

     

    ▓▓▓▓▓▓ 集中化的版本控制系統( Centralized Version Control Systems,簡稱 CVCS )

      集中式版本控制系統,版本庫是集中存放在中央伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從中央伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給中央伺服器。中央伺服器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。

 

                       

 

 

      集中式版本控制系統有幾個明顯的缺點:

        1、如果遇到中央伺服器故障,那麼誰都無法進行提交,也就無法進行協同工作

        2、必須聯網進行操作

 

  ▓▓▓▓▓▓ 分散式的版本控制系統( Distributed Version Control System,簡稱 DVCS )

    客戶端並不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何一個鏡像出來的本地倉庫恢復。因為每一次的提取操作,實際上都是一次對代碼倉庫的完整備份。

 

                             

 

 

    分散式版本控制系統根本沒有“中央伺服器”,每個人的電腦上都是一個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了

 

參考資料:

      廖雪峰的官方網站-Git教程

      CODE幫助文檔-Progit中文版

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 小程式的架構及實現機制,通道服務及會話管理 小程式架構及實現機制 小程式並不是 H5 應用,而是更偏向於傳統的 CS 架構,它是基於數據驅動的模式,一切皆組件(視圖組件)。所以建議在開發小程式時不要以web app的開發思維去思考。小程式開發語言是獨立的一整套開發語言體系,既與Html+CSS+Ja ...
  • 註釋: small img size:600x400 big img size:1200x800 原理: 問題: 居中理解太差: absolute ,left ,top,right,bottom,margin 放大縮小問題: 起初: transform: scale() 縮放 利用 transiti ...
  • Step-animate: 分為3部分:{配置},{step:function(){...},duration:1000} 通過 queue刪除動畫 隊列, 用 dequeue繼續動畫 ...
  • HTML5之fileAPI HTML5之fileAPI使得我們處理圖片上傳更加簡單。 實例 html代碼 效果: 這裡我們可以通過 來獲取到圖片的信息。 這裡有 ,`size type`這幾個我們常用的屬性。 實現預覽 選擇好圖片後,我們都希望會有個預覽功能。這個html5也為我們想到了。 他提供了 ...
  • 在"初探nodeJS"隨筆中,我們對於node有了一個大致地瞭解,併在最後也通過一個示例,瞭解瞭如何快速地開啟一個簡單的伺服器。今兒,再次看了該篇隨筆,發現該隨筆理論知識稍多,適合初級入門node,固萌生一個想法--想在該篇隨筆中,通過一步步編寫一個稍大一點的node示例,讓我們在整體上更加全面地了... ...
  • A jQuery tabs module for todays web! 實例DEMO 運行一下 Documentation Tabulous.js can be used with any contents you choose in the tabs and it couldn't be mor ...
  • html css css3 javascript html5 jQuery jQuery UI jQuery EasyUI Exits Highcarts Chart Two Jsp Asp.net PHP Python MySql SQL Server Oracle MongDB XML JONG ...
  • 下麵這個是結合css+html5+javascript的一個更複雜的圓環圖形 原文鏈接:HTML5 CSS3如何繪製任意角度的扇形 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...