Git 筆記(一)簡介

2021-10-08 04:21:33 字數 2267 閱讀 3168

版本控制是記錄乙個或多個檔案的變化內容,以便將來查詢某個特定修訂版本的系統。

(1991 - 2002)linux開源專案有眾多的參與者。以至於核心維護工作大量時間用在了提交補丁和儲存歸檔的事務上。

(2002 - 2005)專案組啟用的了乙個專有的分布式版本控制系統 bitkeeper來維護管理**。 於2023年結束合作關係,收回了linux核心社群免費使用bitkeeper的權利。

(2005 - 至今)linux社群(特別是linux締造者linus torvalds)基於使用bitkeeper時的經驗教訓,開發出了自己的版本系統。git誕生。

git與其他版本控制系統的主要差別是在對待資料的方法上。

git保證資料完整性

git的資料在儲存之前都會對內容進行一次計算校驗值,然後用這個校驗值來引用資料。若在傳送資料的過程中丟失資訊或者損壞檔案,git就能發現。意味著不可能再git不知情的情況下更改檔案或者目錄。

git用於計算校驗值的機制是sha-1雜湊,這是乙個由40個十六進製制字元組成的字串,基於git的檔案和目錄結構計算得出。git資料庫中儲存的都是以檔案內容計算出雜湊值的索引。

git一般只新增資料。你每次執行的操作,幾乎都是往git資料庫中新增資料。很難執行任何不可逆的操作,或者清除倉庫資料的操作。所有提交到git的資料,都很難丟失。

三種狀態

git有三種狀態 committed(已提交)、modified(已修改)、staged(已暫存)

git專案的三個階段 :工作區、暫存區、git倉庫目錄。

基本的git工作流程

在工作區修改檔案。

將你想要下次提交的更改選擇性的暫存,這樣只會將想要提交的部分新增到暫存區。

提交更新,找到暫存區的檔案,將檔案快照永久性的儲存在git倉庫中。

如果git倉庫中儲存著特定版本的檔案,就屬於已提交狀態。如果檔案修改並新增到暫存區就屬於已暫存狀態。如果檔案修改但還沒有放入暫存區就屬於已修改狀態。

git有多種使用方式。可以使用命令列模式也可以使用gui模式。但是只有在命令列模式你才能執行所有命令,gui軟體通常只實現了所有功能的乙個子集方便操作。

ubuntu上安裝

apt-get install git
centos上安裝

yum install git
在macos 上安裝

安裝xcode command line tools 。在terminal裡嘗試執行git命令即可。

git --version
如果沒有安裝過,將會提示你安裝

在windows上安裝使用者資訊

安裝完git後,第一件事就是設定使用者名稱和郵箱,因為每次提交都會使用這些資訊

git config --global user.name "***"

git config --global user.email "***x@***.xx"

使用了–global 則代表你在該系統之後的操作,git都會使用這些資訊。如果想對特定的專案用不同的使用者名稱,可以在這個專案目錄裡執行沒有–global選項的命令。

檢查配置

git config --list 列出當前git能找到的配置

git config / git config user.name 檢查git某一項的值

git config --show-origin user.name 會顯示出最後配置該值配置檔案的位置。

獲取幫助

git help / git help config

git --help / git config --helo

man git -/ man git -config liunx系統上

以上命令可以快速獲取命令手冊而不需要聯網。 如果不需要詳細的文件,只需要可用選項的快速參考的話 可以使用-h 指令。 help -> -h

Git學習筆記之Git的簡介(一)

git 是乙個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。git 與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本庫的方式,不必伺服器端...

git學習筆記(一)之git簡介和安裝

一,特點 1,版本控制 可以解決多人同時開發的 問題,也可以解決找回歷史資源的問題。2,分布式 二,linux安裝gityum install git這個方法簡單,但是安裝的不是最新版本的git 三,版本建立 1,隨便建立乙個資料夾mkdir git test2,進入資料夾裡初始化gitgit in...

Git 學習筆記《簡介與安裝》 一

git,開源中國以及github所使用的系統,is a 乙個分布式版本控制系統 be used to 為團隊合作寫 提供方便的管理系統。幾乎滿足你所有關於合作寫 的幻想。has 本地端 工作區 版本庫 版本庫還含有乙個暫存區 遠端倉庫 用於儲存你上傳的檔案,連檔案目錄原封不動地傳上去.甚至有人當網盤...