Git是什么
在回憶Git是什么的話,我們先來復習這幾個概念哈~
什么是版本控制?
百度百科定義是醬紫的~
版本控制是指對軟件開發過程中各種程序代碼、配置文件及說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。
那些年,我們的畢業論文,其實就是版本變更的真實寫照…腦洞一下,版本控制就是這些論文變更的管理~
什么是集中化的版本控制系統?
那么,集中化的版本控制系統又是什么呢,說白了,就是有一個集中管理的中央服務器,保存著所有文件的修改歷史版本,而協同開發者通過客戶端連接到這臺服務器,從服務器上同步更新或上傳自己的修改。
什么是分布式版本控制系統?
分布式版本控制系統,就是遠程倉庫同步所有版本信息到本地的每個用戶。嘻嘻,這里分三點闡述吧:
- 用戶在本地就可以查看所有的歷史版本信息,但是偶爾要從遠程更新一下,因為可能別的用戶有文件修改提交到遠程哦。
- 用戶即使離線也可以本地提交,push推送到遠程服務器才需要聯網。
- 每個用戶都保存了歷史版本,所以只要有一個用戶設備沒問題,就可以恢復數據啦~
什么是Git?
Git是免費、開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。
Git的相關理論基礎
- Git的四大工作區域
- Git的工作流程
- Git文件的四種狀態
- 一張圖解釋Git的工作原理
Git的四大工作區域
先復習Git的幾個工作區域哈:
- Workspace:你電腦本地看到的文件和目錄,在Git的版本控制下,構成了工作區。
- Index/Stage:暫存區,一般存放在 .git目錄下,即.git/index,它又叫待提交更新區,用于臨時存放你未提交的改動。比如,你執行git add,這些改動就添加到這個區域啦。
- Repository:本地倉庫,你執行git clone 地址,就是把遠程倉庫克隆到本地倉庫。它是一個存放在本地的版本庫,其中HEAD指向最新放入倉庫的版本。當你執行git commit,文件改動就到本地倉庫來了~
- Remote:遠程倉庫,就是類似github,碼云等網站所提供的倉庫,可以理解為遠程數據交換的倉庫~
Git的工作流程
上一小節介紹完Git的四大工作區域,這一小節呢,介紹Git的工作流程咯,把git的操作命令和幾個工作區域結合起來,個人覺得更容易理解一些吧,哈哈,看圖:
git 的正向工作流程一般就這樣:
- 從遠程倉庫拉取文件代碼回來;
- 在工作目錄,增刪改查文件;
- 把改動的文件放入暫存區;
- 將暫存區的文件提交本地倉庫;
- 將本地倉庫的文件推送到遠程倉庫;
Git文件的四種狀態
根據一個文件是否已加入版本控制,可以把文件狀態分為:Tracked(已跟蹤)和Untracked(未跟蹤),而tracked(已跟蹤)又包括三種工作狀態:Unmodified,Modified,Staged
- Untracked: 文件還沒有加入到git庫,還沒參與版本控制,即未跟蹤狀態。這時候的文件,通過git add 狀態,可以變為Staged狀態
- Unmodified:文件已經加入git庫, 但是呢,還沒修改, 就是說版本庫中的文件快照內容與文件夾中還完全一致。 Unmodified的文件如果被修改, 就會變為Modified. 如果使用git remove移出版本庫, 則成為Untracked文件。
- Modified:文件被修改了,就進入modified狀態啦,文件這個狀態通過stage命令可以進入staged狀態
- staged:暫存狀態. 執行git commit則將修改同步到庫中, 這時庫中的文件和本地文件又變為一致, 文件為Unmodified狀態.
一張圖解釋Git的工作原理
日常開發中,Git的基本常用命令
- git clone
- git checkout -b dev
- git add
- git commit
- git log
- git diff
- git status
- git pull/git fetch
- git push
這個圖只是模擬一下git基本命令使用的大概流程哈~
最后
小編在這里分享些我自己平時的學習資料,由于篇幅限制,pdf文檔的詳解資料太全面,細節內容實在太多啦,所以只把部分知識點截圖出來粗略的介紹,每個小節點里面都有更細化的內容!有需要的程序猿(媛)可以關注+點贊,點擊這里免費獲取
程序員代碼面試指南 IT名企算法與數據結構題目最優解
這是” 本程序員面試寶典!書中對IT名企代碼面試各類題目的最優解進行了總結,并提供了相關代碼實現。針對當前程序員面試缺乏權威題目匯總這一-痛點, 本書選取將近200道真實出現過的經典代碼面試題,幫助廣“大程序員的面試準備做到萬無一失。 “刷”完本書后,你就是“題王”!
《TCP-IP協議組(第4版)》
本書是介紹TCP/IP協議族的經典圖書的最新版本。本書自第1版出版以來,就廣受讀者歡迎。
本書最新版進行」護元,以體境計算機網絡技不的最新發展,全書古有七大部分共30草和7個附錄:第一部分介紹一些基本概念和基礎底層技術:第二部分介紹網絡層協議:第三部分介紹運輸層協議;第四部分介紹應用層協議:第五部分介紹下一代協議,即IPv6協議:第六部分介紹網絡安全問題:第七部分給出了7個附錄。
Java開發手冊(嵩山版)
這個不用多說了,阿里的開發手冊,每次更新我都會看,這是8月初最新更新的**(嵩山版)**
MySQL 8從入門到精通
本書主要內容包括MySQL的安裝與配置、數據庫的創建、數據表的創建、數據類型和運算符、MySQL 函數、查詢數據、數據表的操作(插入、更新與刪除數據)、索引、存儲過程和函數、視圖、觸發器、用戶管理、數據備份與還原、MySQL 日志、性能優化、MySQL Repl ication、MySQL Workbench、 MySQL Utilities、 MySQL Proxy、PHP操作MySQL數據庫和PDO數據庫抽象類庫等。最后通過3個綜合案例的數據庫設計,進步講述 MySQL在實際工作中的應用。
Spring5高級編程(第5版)
本書涵蓋Spring 5的所有內容,如果想要充分利用這一領先的企業級 Java應用程序開發框架的強大功能,本書是最全面的Spring參考和實用指南。
本書第5版涵蓋核心的Spring及其與其他領先的Java技術(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本書的重點是介紹如何使用Java配置類、lambda 表達式、Spring Boot以及反應式編程。同時,將與企業級應用程序開發人員分享一些見解和實際經驗,包括遠程處理、事務、Web 和表示層,等等。
JAVA核心知識點+1000道 互聯網Java工程師面試題
企業IT架構轉型之道 阿里巴巴中臺戰略思想與架構實戰
本書講述了阿里巴巴的技術發展史,同時也是-部互聯網技 術架構的實踐與發展史。
中…(img-meD1xQtn-1624780399605)]
[外鏈圖片轉存中…(img-jPJvh33m-1624780399605)]
企業IT架構轉型之道 阿里巴巴中臺戰略思想與架構實戰
本書講述了阿里巴巴的技術發展史,同時也是-部互聯網技 術架構的實踐與發展史。