簡介
前一篇文章中簡單引入了Git倉庫的概念--用來保存項目的元數(shù)據(jù)和對象數(shù)據(jù)庫的地方,是整個Git數(shù)據(jù)庫的集合;
Git倉庫是整個Git版本控制系統(tǒng)的基礎(chǔ),所有的Git操作都必須基于Git倉庫,下面就讓我們來認(rèn)識一下它吧!
獲取Git倉庫
Git項目倉庫的獲取方式有以下兩種:
- 本地創(chuàng)建Git倉庫
- 從Git遠(yuǎn)程服務(wù)器克隆倉庫
本地倉庫
本地創(chuàng)建Git倉庫的方式可以用一條命令來完成:
- cd到需要項目目錄中
- 執(zhí)行
git init操作初始化倉庫

遠(yuǎn)程倉庫
如果你正在進(jìn)行團(tuán)隊協(xié)作項目開發(fā)或更換電腦需要重新拉取項目,那么git clone能很好的幫你從遠(yuǎn)程拉取到遠(yuǎn)程Git倉庫中最新版本的項目代碼;
克隆倉庫的命令格式是git clone [url],當(dāng)然你也可以拉取Git倉庫中特定分支的內(nèi)容,格式是git clone -b [branch] [url]

git clone命令默認(rèn)拉取的是遠(yuǎn)程Git倉庫master分支中的數(shù)據(jù),默認(rèn)配置中會拉取每一個文件的每一個版本
Git倉庫目錄結(jié)構(gòu)
一個新的Git倉庫的目錄結(jié)構(gòu)如下圖所示:

- HEAD:指示目前被檢出的分支
- config:包含項目特有的配置選項
- description:僅供 GitWeb 程序使用,我們無需關(guān)心
- hooks:包含客戶端或服務(wù)端的鉤子腳本(hook scripts)
- info:包含一個全局性排除(global exclude)文件,用以放置那些不希望被記錄在 .gitignore 文件中的忽略模式(ignored patterns)
- objects:存儲所有數(shù)據(jù)內(nèi)容
- refs:存儲指向數(shù)據(jù)(分支)的提交對象的指針
配置與使用
這部分的內(nèi)容主要介紹了一些Git正式使用前的一些準(zhǔn)備工作和簡單使用,config和remote兩個指令。
config
在使用Git之前需要配置姓名和郵箱等信息(不配置該信息可能無法提交至遠(yuǎn)程),那么配置的方式有以下兩種:
-
git config指令 - 文件配置
(1)指令方式
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
--global選項的含義代表全局配置,即只要配置一次即可在當(dāng)前機(jī)器上生效,若需要對某個項目單獨(dú)配置,需在該項目目錄下執(zhí)行config命令,但不必帶上--global參數(shù)。
config全部可選參數(shù)可見官網(wǎng)文檔:git-config
(2)文件方式
- /etc/gitconfig 文件: 包含系統(tǒng)上每一個用戶及他們倉庫的通用配置。 如果使用帶有 --system 選項的 git config 時,它會從此文件讀寫配置變量。
- ~/.gitconfig 或 ~/.config/git/config 文件:只針對當(dāng)前用戶。 可以傳遞 --global 選項讓 Git 讀寫此文件。
- 當(dāng)前使用倉庫的 Git 目錄中的 config 文件(就是 .git/config):針對該倉庫。
上述三個文件對應(yīng)的作用域級別不同,順序為 倉庫級別 > 用戶級別 > 系統(tǒng)級別
補(bǔ)充:可通過config命令來查看已生效的配置:git config --list
remote
Git作為分布式版本控制系統(tǒng)的代表,其主要作用是為了能更好的進(jìn)行團(tuán)隊協(xié)作,故進(jìn)行遠(yuǎn)程Git倉庫的配置是必不可少的;
git remote -v可查看當(dāng)前Git倉庫關(guān)聯(lián)的遠(yuǎn)程庫列表(通過git clone的倉庫自動帶有遠(yuǎn)程倉庫的信息),附上博主的一個Git倉庫

左側(cè)的origin為遠(yuǎn)程倉庫的別名,右側(cè)為遠(yuǎn)程Git倉庫的地址
remote的一些簡單操作:
- 若是本地創(chuàng)建的Git倉庫,則需要手動添加遠(yuǎn)程Git倉庫:
git remote add [alias] [url] - 重命名:
git remote rename [old_alias] [new_alias] - 刪除遠(yuǎn)程倉庫:
git remote rm [alias]
上一篇:Git系列--初識