Git 學習筆記之起步篇——相關(guān)知識簡介

1. 起步

1.1了解版本控制

Git 常用于版本控制,那么何為版本控制?
版本控制——記錄一個或若干個文件內(nèi)容變化,以便將來查閱特定版本修訂情況的系統(tǒng)。
有了它你就可以將某個文件回溯到之前的狀態(tài),甚至將整個項目都回退到過去某個時間點的狀態(tài),你可以比較文件的變化細節(jié),查出是誰更改了哪個地方,找出出現(xiàn)問題的原因等。

  • 本地版本控制系統(tǒng)
    采用某種簡單的數(shù)據(jù)庫來記錄文件的歷次更新差異,無法做到多人協(xié)同工作。
  • 集中化的版本控制系統(tǒng)
    服務(wù)器集中管理,,保存所有文件的修訂版本,協(xié)同工作的人們通過客戶端連接到這臺服務(wù)器,取出最新的文件或提交更新。
    優(yōu)點:每個人可在一定程度上看到項目其他人在做什么,管理員也可以輕松掌握每個開發(fā)者權(quán)限,且遠比在各個客戶端上維護本地數(shù)據(jù)庫輕松。
    缺點:若中央服務(wù)器出現(xiàn)故障,則協(xié)同人員無法工作,若磁盤損壞又沒有恰當備份,則將丟失所有數(shù)據(jù),只剩下各自機器上的數(shù)據(jù)。
  • 分布式版本控制系統(tǒng)
    客戶端不止提取最新版本文件快照,而是將代碼倉庫完整地鏡像下來,即使服務(wù)器發(fā)生故障,本地仍有數(shù)據(jù),可從本地倉庫回復(fù)。
    即每次克隆操作,都是一次對代碼倉庫的完整備份。
    且許多這類系統(tǒng)都可以指定和若干不同的遠端代碼倉庫進行交互。

1.2 Git 簡介

  • 直接記錄快照,而非差異比較
    Git 更像一個小型的文件系統(tǒng),每一次提交或進行其他操作時,Git 會對當時的全部文件制作一個快照并保存這個快照的索引,若文件沒有更改,不再重新存儲,保留一個鏈接指向之前存儲的文件。
    即指向所有當前版本的最新文件。

  • 近乎所有操作都是本地執(zhí)行
    因為每次克隆時都將數(shù)據(jù)全部拷貝,所以執(zhí)行的絕大多數(shù)操作都是需要訪問本地文件和資源,效率高;
    且及時你離線或沒有 VPN 時,幾乎也可以進行任何操作。

  • Git 保證完整性
    Git 中所有數(shù)據(jù)在存儲前都會進行校驗,因此不可能在 Git 不知情時更改任何文件內(nèi)容或目錄內(nèi)容。即所有操作都會被記錄。

  • Git 一般只添加數(shù)據(jù)
    你執(zhí)行的 Git 操作,幾乎只往 Git 數(shù)據(jù)庫中增加數(shù)據(jù),很難讓 Git 執(zhí)行任何不可逆操作或是以任何方式清除數(shù)據(jù)。

  • 三種狀態(tài):Git 倉庫、工作目錄、暫存區(qū)域

    三種狀態(tài)示意圖

    1)工作目錄
    對項目的某個版本獨立提取出來的內(nèi)容,放在磁盤上供開發(fā)者使用或修改
    2)Git 倉庫
    Git 用來保存項目的元數(shù)據(jù)和對象數(shù)據(jù)庫的地方。Git最重要的存儲數(shù)據(jù)的部分。
    3)暫存區(qū)域
    一個文件,保存了下次將提交的文件列表信息,一般在 Git 倉庫中。
    基本的 Git 工作流程:
    工作目錄中修改文件 => 文件快照存放到暫存區(qū) => 提交更新,找到暫存區(qū)的文件,永久存儲到 Git 倉庫

1.3 命令行

Git 有多種使用方式,可使用原生命令行模式,也可使用 GUI 模式。
但只有在命令行模式下才能執(zhí)行 Git 的所有命令,而大多數(shù)的 GUI 軟件只實現(xiàn)了 Git 所有功能的一個子集以降低操作難度。

1.4 安裝 Git

安裝包下載地址:https://git-scm.com/downloads,下載后直接安裝即可

1.5 初次運行 Git 前的配置

Git 自帶 git config 工具來設(shè)置控制 Git 外觀和行為的配置變量。這些變量存儲在三個不同位置:
1. /etc/gitconfig 文件:——包含系統(tǒng)上每一個用戶及他們倉庫的通用配置。
對應(yīng) git config --system
2. ~/.gitconfig 或 ~/.config/git/config 文件:——只針對當前用戶。
對應(yīng) git config --global
3. 當前實用倉庫的 Git 目錄中的 config 文件(.git/config):——針對該倉庫
每一個級別覆蓋上一級別的配置。
在 Windows 系統(tǒng)中,Git 會查找 $HOME 目錄下(一般情況下是 C:\Users$USER)的 .gitconfig 文件。 Git 同樣也會尋找 /etc/gitconfig 文件,但只限于 MSys 的根目錄下,即安裝 Git 時所選的目標位置

1.5.1 用戶信息

安裝完 Git 后應(yīng)首先配置你的用戶名和郵件地址。因為每一個 Git 的提交都會使用這些信息,且會寫入到你的每一次提交中,不可更改。

git config --global user.name "John Doe" 
it config --global user.email johndoe@example.com 

注: 使用了 --global,則該命令運行后,無論你在該系統(tǒng)上做任何事情,Git 都會使用那些信息。若你想針對特定項目使用不同的用戶名稱和郵件地址,可以在特定項目目錄下運行沒有 --global 選項的命令進行配置。eg:

git config user.name "Tony" 
1.5.2 文本編輯器

Git 需要你輸入信息時會調(diào)用文本編輯器,默認為 Vim,你可以通過
git config --global core.editor editorname 來進行配置。則調(diào)用時會調(diào)用你配置過的文本編輯器。

1.5.3 檢查配置信息

git config --list可查看當前 Git 的全部配置。
git config <key>來查看某一項配置,例如:git config user.name

1.5.4 獲取幫助

當你使用 Git 需要幫助時,以下三種方法可以找到 Git 命令的使用手冊:

git help <verb>
git <verb> --help
man git-<verb>

例如:
git help config 可獲得 config 命令的手冊。

本文參考:https://git-scm.com/book/zh/v2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評論 19 139
  • Git使用教程 Git是什么 Git是一個開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目。Git是...
    唯夜閱讀 1,908評論 1 11
  • Git是目前最流行的版本管理系統(tǒng),也是最先進的分布式版本控制系統(tǒng)(distributed version cont...
    pro648閱讀 5,996評論 1 17
  • 河畔的微風吹過樹梢,開始泛黃的葉子早已按耐不住搖曳,望著朝夕相處的土地,或許,就在今晚,便可以邂逅那久違的話語。 ...
    文顛閱讀 380評論 0 0

友情鏈接更多精彩內(nèi)容