目錄
一、Git簡介
二、Git歷史
三、安裝git
1.準(zhǔn)備環(huán)境
2.Yum安裝Git
四、初次運行 Git 前的配置
命令集
實例:
五、Git命令常規(guī)操作
?六、獲取 Git 倉庫(初始化倉庫)
創(chuàng)建裸庫
實例 :
創(chuàng)建本地庫
一、Git簡介
????????官網(wǎng):Git
????????git是一個分布式版本控制軟件,最初由林納斯·托瓦茲(Linus Torvalds)創(chuàng)作,于2005年以GPL發(fā)布。最初目的是為更好地管理Linux內(nèi)核開發(fā)而設(shè)計。
????????Git 官方中文手冊 Git - Book
二、Git歷史
?????????自2002年開始,林納斯·托瓦茲決定使用BitKeeper作為Linux內(nèi)核主要的版本控制系統(tǒng)用以維護代碼。因為BitKeeper為專有軟件,這個決定在社區(qū)中長期遭受質(zhì)疑。在Linux社區(qū)中,特別是理查德·斯托曼與自由軟件基金會的成員,主張應(yīng)該使用開放源代碼的軟件來作為Linux核心的版本控制系統(tǒng)。林納斯·托瓦茲曾考慮過采用現(xiàn)成軟件作為版本控制系統(tǒng)(例如Monotone),但這些軟件都存在一些問題,特別是性能不佳?,F(xiàn)成的方案,如CVS的架構(gòu),受到林納斯·托瓦茲的批評。
????????2005年,安德魯·垂鳩寫了一個簡單程序,可以連接BitKeeper的存儲庫,BitKeeper著作權(quán)擁有者拉里·麥沃伊認(rèn)為安德魯·垂鳩對BitKeeper內(nèi)部使用的協(xié)議進(jìn)行逆向工程,決定收回?zé)o償使用BitKeeper的授權(quán)。Linux內(nèi)核開發(fā)團隊與BitMover公司進(jìn)行蹉商,但無法解決他們之間的歧見。林納斯·托瓦茲決定自行開發(fā)版本控制系統(tǒng)替代BitKeeper,以十天的時間,編寫出第一個git版本
三、安裝git
1.準(zhǔn)備環(huán)境
????????關(guān)閉防火墻和selinux
2.Yum安裝Git
1)centos 自帶git
????????直接yum安裝即可
yum install git -y
2)也可以選擇源碼安裝
????????編譯安裝可以安裝較新版本的git
Git下載地址: Releases · git/git · GitHub
????????選擇對應(yīng)的git版本tar包下載并解壓
tar -zxf git-2.0.0.tar.gz
????????安裝依賴關(guān)系
yum install curl-devel expat-devel gettext-devel ?openssl-devel zlib-devel autoconf gcc perl-ExtUtils-MakeMaker
????????編譯安裝?
cd git-2.0.0
./configure --prefix=/usr/local/git # 沒有文件可以略過
make ?
make install ?
四、初次運行 Git 前的配置
命令集
git config --global user.name "username" #配置git使用用戶
git config --global user.email "email@mail.com" #配置git使用郵箱
git config --global color.ui true #語法高亮
git config --list # 查看全局配置
實例:
我們現(xiàn)在準(zhǔn)備兩臺服務(wù)器同時安裝git并建立初次運行 Git 前的配置為后面得操作做準(zhǔn)備
git:
git2:
五、Git命令常規(guī)操作
常用命令說明
命令 | 命令說明 |
---|---|
#add | 添加文件內(nèi)容至索引 |
bisect | 通過二分查找定位引入 bug 的變更 |
#branch | 列出、創(chuàng)建或刪除分支 |
#checkout | 檢出一個分支或路徑到工作區(qū) |
#clone | 克隆一個版本庫到一個新目錄 |
#commit | 記錄變更到版本庫 |
#diff | 顯示提交之間、提交和工作區(qū)之間等的差異 |
fetch | 從另外一個版本庫下載對象和引用 |
grep | 輸出和模式匹配的行 |
#init | 創(chuàng)建一個空的 |
#log | 顯示提交日志 |
#merge | 合并兩個或更多開發(fā)歷史 |
#mv | 移動或重命名一個文件、目錄或符號鏈接 |
#pull | 獲取并合并另外的版本庫或一個本地分支 |
#push | 更新遠(yuǎn)程引用和相關(guān)的對象 |
rebase | 本地提交轉(zhuǎn)移至更新后的上游分支中 |
#reset | 重置當(dāng)前HEAD到指定狀態(tài) |
#rm | 從工作區(qū)和索引中刪除文件 |
show | 顯示各種類型的對象 |
#status | 顯示工作區(qū)狀態(tài) |
#tag | 創(chuàng)建、列出、刪除或校驗一個GPG簽名的 tag 對象 |
?六、獲取 Git 倉庫(初始化倉庫)
創(chuàng)建裸庫
創(chuàng)建git用戶
useradd git
設(shè)置密碼
passwd git
創(chuàng)建倉庫目錄庫可自定義
mkdir /git-root/
進(jìn)入倉庫目錄
cd /git-root/
git init --bare .git結(jié)尾的庫名
修改屬主屬組
chown -R git:git shell.git
實例 :
git2創(chuàng)建裸庫
創(chuàng)建本地庫
實例:
git服務(wù)器操作
建立免密互信
ssh-keygen
ssh-copy-id git@10.12.153.71
克隆git2剛才創(chuàng)建的裸庫
git clone git@10.12.153.71:/git-root/ztn.git
進(jìn)入克隆過來的庫創(chuàng)建一個庫文件
cd ztn
vim test1.sh
#內(nèi)容可以自定義:
添加文件內(nèi)容至索引
git add test1.sh
記錄到版本庫中
?git commit -m? '第一次記錄'? #-m 指定標(biāo)簽
更新到遠(yuǎn)程倉庫
git push origin master
?現(xiàn)在我們回到git2服務(wù)器上查看剛才創(chuàng)建的庫文件
cd /git-root/ztn.git/objects/
tree
?顯示文件內(nèi)容
git cat-file -p ?591aabe36
# 顯示文件類型
git cat-file -t 591aabe36
# 顯示文件大小
git cat-file -s 591aabe36
希望能夠幫助到大家?。?!文章來源:http://www.zghlxwxcb.cn/news/detail-836682.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-836682.html
到了這里,關(guān)于分布式版本控制系統(tǒng) Git的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!