Git官方和創始人都推薦的Git權威指南,廣度深度和實戰性史無前例

来源:https://www.cnblogs.com/1030x/archive/2020/07/10/13280029.html
-Advertisement-
Play Games

先給大家看一下大佬們對這本書的評價,免得說我“標題黨” 版本控制是管理數據變更的藝術,無論數據變更是來自同一個人,還是來自不同的人(一個團隊)。版本控制系統不但要忠實地記錄數據的每一次變更, 還要能夠幫助還原任何一-次歷史變更,以及實現團隊的協同工作等。Git就是版本控制系統中的佼佼者。 當開源軟體 ...


 

先給大家看一下大佬們對這本書的評價,免得說我“標題黨”

 

版本控制是管理數據變更的藝術,無論數據變更是來自同一個人,還是來自不同的人(一個團隊)。版本控制系統不但要忠實地記錄數據的每一次變更, 還要能夠幫助還原任何一-次歷史變更,以及實現團隊的協同工作等。Git就是版本控制系統中的佼佼者。

當開源軟體紛紛倒向分散式版本控制系統大旗(尤其是Git)的時候,很多商業公司也在行動了,尤其是涉及異地團隊協同和Android核心代碼定製開發的公司。對於那些因保守而不敢向Git靠攏的公司,Git 也可以派上用場,因為Git可以與現在大多數公司部署的SVN很好地協同,即公司的伺服器是SVN,開發者的客戶端則使用Git。相信隨著Git的普及,以及公司在代碼管理觀念上的改進,會有更多的公司擁抱Git。

這本書可以說是適合所有互聯網行業的程式員們,需要獲取這份Git文檔的小伙伴添加小助理vx:kaixindian331免費獲取!

 

文檔內容目錄

第一篇初識Git

第1篇講解了Git的相關概念,以及安裝和配置的方法,共3章。第1章介紹了版本控.制的歷史。第2章用十幾個小例子介紹了Git的- - 些閃亮特性,期待這些特性能夠讓你愛上Git。第3章則介紹了Git在三種主要操作系統平臺上的安裝和使用。在本書的寫作過程中,我70%的時間使用的是DebianLinux操作系統,Linux用戶可以毫無障礙地完成本書列舉的所有實踐操作。在2010年年底,當得知有出版社願意出版這本書後,我向妻子阿巧預支了未來的部分稿費購買了我的第--台MacBookPro,於是本書就有了較為詳實的如何在Macosx下安裝和使用Git的內容,以及在本書第22章中介紹的關於Topgit在MacOSX.上的部署和改進相關的內容。在本書的編輯和校對過程中因為要使用Word格式的文稿,所以本書後期的很多工作是在運行於VirtualBox 下的Windows虛擬機中完成的,即使是使用運行於資源受限的虛擬機中的Cygwin, Git 依然完美地完成了工作。

  • 第1章版本控制的前世和今生
  • 第2章愛上git的理由
  • 第3章gi t的安裝和使用

第二篇Git獨奏

第三篇Git和聲

第2篇和第3篇詳細講解了Git的使用方法,是本書的基礎和核心,大約占據」全書40%的篇幅。這兩篇的內容架構方式是我在進行SVN培訓時就已經形成的習慣,即以“獨奏”指代一個人的版本控制所要講述的知識點,以“和聲”指代團隊版本控制涉及的話題。在第2篇“Git獨奏”中,本書將Git的設計原理穿插在各章之中講解,因為唯有瞭解真相(Git原理),才有可能自由(掌握Git)。 在第3篇“Git和聲”中,本書講解了團隊版本控制必須掌握的里程碑和分支等概念,以及如何解決合併中遇到的衝突。

  • 第4章git初始化
  • 第5章git暫存區
  • 第6章git對象
  • 第7章git重置
  • 第8章git檢出
  • 第9章恢復進度
  • 第10章git 基本操作
  • 第11章歷史穿梭
  • 第12章改變歷史
  • 第13章git克隆
  • 第14章git庫管理
  • 第15章 gi t協議與工作協同
  • 第16章 衝突解決
  • 第17章 git 里程碑
  • 第18章 git分支
  • 第19章遠程版本庫
  • 第20章 補丁文件交互

第4篇git協同模型

第4篇細緻地講解了Git在實際工作中的使用模式。除了傳統的集中式和分散式使用模式之外,第22章還介紹了Topgit在定製開發中的應用,這也是我公司在使用Git時採用的最主要的模式。這一章還講解了我對Topgit所做的部分改進,相關的具體介紹最早出現在我公司的博客.上。第23~ 25章介紹了多版本庫協同的不同方法,其中第25章介紹的一個獨闢蹊徑的解決方案是由Android項目引入的名為repo的工具實現的,我對其進行改造後可以讓這個工具脫離Gerrit代碼審核伺服器,直接操作Git伺服器。第26章介紹了git-svn 這一工具,該工具不但可以實現從SVN版本庫到Git版本庫的遷移,還可以實現以Git作為客戶端向SVN提交。

 

  • 第21章經典git協同模型
  • 第22章topgit協同模型
  • 第23章子模組協同模型
  • 第24章子樹合併
  • 第25章android式多版本庫協同
  • 第26章git和svn協同模型

第五篇搭建Git伺服器

第5篇介紹了Git伺服器的架設。本篇是全書最早開始撰寫的部分,這是因為我給客戶做的Git培訓講義的相關內容不夠詳細,於是應客戶要求針對Gitolite等伺服器的架設撰寫了詳細的管理員手冊,即本書的第30章。第32章介紹了Android項目在Git管理上的又一大創造,即Gerrit,它實現了一個獨特的集中式Git版本庫管理模型。

 

  • 第27章使用http協議
  • 第28章使用git 協議
  • 第29章使用ssh協議
  • 第30章gitolite 服務架設
  • 第31章gi tosis服務架設
  • 第32章gerrit 代碼審核伺服器
  • 第33章git版本庫托管

第六篇轉移到Git

第6篇講解了Git版本庫的遷移。其中第34章詳細介紹了從CVS版本庫到Git版本庫的遷移,其遷移過程也可以作為從cVs到SVN遷移的借鑒。本篇還介紹了從SVN和Hg版本庫到Git的遷移。對於其他類型的版本庫,介紹了一個通用的需要編程來實現的方法。在本篇的最後還介紹了一個Git版本庫整理的利器,可以理解為一個Git庫轉換為另外--個Git.庫的方法。

  • 第34章CV s版本庫到gi t的遷移
  • 第35章更多版本控制系統的遷移

第七篇Git的其他應用

第7篇是關於Git的其他應用,其主要內容介紹了我在etckeeper啟發下開發的一款備份工具Gistore,該工具可以運行於Linux和Mac OS X下。

 

  • 第36章etckeeper
  • 第37章gistore
  • 第38章補丁中的二進位文件
  • 第39章雲存儲

第八篇Git雜談

第8篇是Git雜談。其中第40章的內容可供跨平臺的項目組借鑒。第41章介紹了一些在前面沒有涉及的Git的相關功能和特性。

 

  • 第40章跨平臺操作git
  • 第41章git的其他特性

這本書可以說是適合所有互聯網行業的程式員們,需要獲取這份Git文檔的小伙伴可以添加小助理vx:kaixindian331免費獲取!

在Mac OS X下安裝和使用Git

Mac OS X被稱為最人性化的操作系統之一,工作在Mac.上是件非常愜意的事情,工作中又怎能沒有Git呢?

 

理解Git暫存區( stage)

將.上面的實踐從頭至尾操作一遍,不知道您的感想如何:

  • 被眼花繚亂的Git魔法徹底搞糊塗了?”
  • Git為什麼這麼折磨人,修改的文件直接提交不就完了嗎?”
  • 看不出Git這麼做有什麼好處?”

 

圖形工具: gitk

gitk是最早實現的-一個圖形化的Git版本庫瀏覽器軟體,基於Tcl/Tk實現,因此gitk非常簡潔,本身就是由一個1萬多行的tcl腳本寫成的。gitk 的代碼已經和Git的代碼放在了同一個版本庫中, gitk隨Git一同發佈,不用特別地安裝即可運行。gitk可以顯示提交的分支圖,可以顯示提交、文件、版本間的差異等。在版本庫中調用gitk,就會瀏覽該版本庫,顯示其提交的分支圖。gitk 可以像命令行工具一樣使用不同的參數進行調用。

 

傳統集中式協同模型

對於簡單的代碼修改,可以像傳統集中式版本控制系統(Subversion) 那樣工作,參照圖21-2所示的工作流程圖。

 

Gerrit 的實現原理

Gerrit更準確地說應該稱為Gerrit2。因為Android項目最早使用的評審伺服器Gerrit不是今天這個樣子的。最早版本的Gerrit是用Python開發運行於Google App Engine上的,從Python之父GuidovanRossum開發的Rietveld分支而來。在這裡要討論的Gerrit實為Gerrit2,是用Java語言實現的。

 

跨平臺操作 Git

您是在什麼平臺(操作系統)中使用Git呢?圖40-1是網上發佈的一個Git使用平臺調查結果的截圖”,從中可以看出排在前三位的是: Linux、Mac OS X和Windows。而Windows用戶中又以使用msysGit的用戶居多。

 

 

這本書可以說是適合所有互聯網行業的程式員們,需要獲取這份Git文檔的小伙伴可以添加小助理vx:kaixindian331免費獲取!

 

 

這份PDF600多頁就不給大家全部展示了,需要獲取這份Git文檔的小獲取可以添加小助理vx:kaixindian331免費獲取!


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

-Advertisement-
Play Games
更多相關文章
  • 在WinForm程式中,要移動沒有標題欄的視窗,基本的實現思路是監聽需要拖動視窗內的控制項的滑鼠事件,然後將滑鼠位置發送給視窗進行相應的位移就可以了。通過借用Windows API也可以很容易實現這一點,比如像下麵這樣。 public class Win32Api { public const int ...
  • 想深入瞭解OrchadCore源碼許久了,但是讀源碼的時候遇到很多問題而網上的參考資料太少了(幾乎都是OrchadCms不帶OrchardCore的),現在解決得差不多了,做下筆記方便自己查看,有錯誤之處也請大家幫忙指出,謝謝。 OrchardCore是一個基於asp.net core的cms(廢話 ...
  • 場景 ASP.NET中新建Web網站並部署到IIS上(詳細圖文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199747 在上面博客中已經將網站部署到了IIS上。 怎樣對前端的請求進行響應普通文本和JSON數據以及 ...
  • 0. 前言 在之前的文章中簡單介紹了一下asp.net core中的Identity,這篇文章將繼續針對Identity進行進一步的展開。 1. 給Identity添加額外的信息 在《【asp.net core 系列】13 Identity 身份驗證入門》一文中,我們大概瞭解瞭如何使用Identit ...
  • Tips:本篇已加入系列文章閱讀目錄,可點擊查看更多相關文章。 前言 上一篇【.Net Core微服務入門全紀錄(七)——IdentityServer4-授權認證】中使用IdentityServer4完成了鑒權中心的搭建,配合網關實現了統一的授權認證。進行到這裡,系統環境已經比較複雜了,想把整個系統 ...
  • 封裝變化之對象創建 在對象創建的過程中,經常會出現的一個問題就是通過顯示地指定一個類來創建對象,從而導致緊耦合。這是因為創建對象時指定類名將使你受特定實現的約束而不是特定介面的約束。這會使未來的變化更加複雜。要避免這種情況,就應該間接地創建對象。 這種緊耦合的問題很大程度是由new關鍵字帶來的,由於 ...
  • 一 Nginx 連接限制 1.1 HTTP協議的連接與請求 HTTP是建立在TCP, 一次HTTP請求需要先建立TCP三次握手(稱為TCP連接),在連接的基礎上再進行HTTP請求。 HTTP請求建立在一次TCP連接基礎上,對於HTTP會話,一次TCP連接可以建立多次HTTP請求。 HTTP協議版本 ...
  • SQL自學筆記 約束 1.0概念及分類 2.0非空約束 3.0 唯一約束 4.0 主鍵約束 自動增長 5.0 外鍵約束 級聯操作 多表關係 三種情況概述 資料庫的備份和還原 多表查詢 1.0 內連接查詢 隱式內連接 : 用where條件消除無用數據 顯示內連接 : 2.0 外連接查詢 3.0 子查詢 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...