Git(讀音爲/gɪt/。)是一個開源的分佈式版本控制系統,能夠有效、高速的處理從很小到很是大的項目版本管理。 Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。git
Git是分佈式版本控制系統,那麼它就沒有中央服務器的,每一個人的電腦就是一個完整的版本庫,因此,工做的時候就不須要聯網了,由於版本庫都是在本身的電腦 上。如今每一個人的電腦都有一個完整的版本庫,那多我的如何協做呢?好比說本身在電腦上改了文件A,其餘人也在電腦上改了文件A,這時,大家兩之間只需把各自的修改推送給對方,就能夠互相看到對方的修改了。數據庫
主要有以下特色:服務器
1. 版本控制分佈式
2. 分佈式svn
3. 工做過程是將服務器上的代碼下載到本地,本地開發完成後,在提交到服務器端spa
git相比於svn功能更加的強大,命令也不少。本篇博客將詳細介紹一些經常使用命令的使用操做。3d
Git和SVN的對比版本控制
1.git是分佈式的,svn是集中式的。(最核心)code
2.git是每一個歷史版本都存儲完整的文件,便於恢復,svn是存儲差別文件,歷史版本不可恢復。(核心)對象
3.git可離線完成大部分操做,svn則不能。
4.git有着更優雅的分支和合並實現。
5.git有着更強的撤銷修改和修改歷史版本的能力
6.git速度更快,效率更高。
基於以上區別,git有了很明顯的優點,特別在於它具備的本地倉庫。
Git幾個概念
一. 工做目錄
工做目錄是對項目的某個版本獨立提取出來的內容。這些從 Git 倉庫的壓縮數據庫中提取出來的文件,放在磁盤上供你使用或修改。
二. 暫存區域
是一個文件,保存了下次將提交的文件列表信息,通常在 Git 倉庫目錄中。有時候也被稱做`‘索引’’,不過通常說法仍是叫暫存區域。
三. Git 倉庫目錄
是Git 用來保存項目的元數據和對象數據庫的地方。這是 Git 中最重要的部分,從其它計算機克隆倉庫時,拷貝的就是這裏的數據。
基本的 Git 工做流程以下:
在工做目錄中修改文件 > 暫存文件,將文件的快照放入暫存區域 > 提交更新,找到暫存區域的文件,將快照永久性存儲到 Git 倉庫目錄。
若是 Git 目錄中保存着的特定版本文件,就屬於已提交狀態。若是做了修改並已放入暫存區域,就屬於已暫存狀態。若是自上次取出後,做了修改但尚未放到暫存區域,就是已修改狀態。
1>下載安裝
yum install git -y
2>git 經常使用選項
git add: 添加文件至暫存區域
git branch: 查看分支和建立分支
git checkout: 進行撤銷也能夠進行分支切換
git clone: 克隆遠程主機倉庫
git commit: 把暫存區域的文件提交至倉庫中
git init: 初始化目錄(工做目錄)
git merge: 合併分支
git pull: 拉取遠程主機的倉庫
git push: 把本地倉庫推送到遠程主機
git reset: 撤銷操做
git status: 查看git目錄中文件狀態
3>git 基本操做
&1> 建立目錄
&2> 初始化目錄爲工做目錄
git init
初始化完成後會生成一個隱藏文件 .git
&3>建立文件並提交到暫存區域
touch test
git add test 或 git add . ( . 表明當前目錄全部的文件 )
&4>提交
1#驗證一下
2# 提交
&5>查看 已提交的版本
&6>寫入內容至test文件並提交
1#
echo ‘123’ >> test
2# 提交至暫存區
git add test
3# > 提交併查看
會發現兩個不一樣的版本
&7>回滾到v1 版本
4>撤銷 回滾
&1撤銷工做區的文件
1#查看當前文件狀態
2#編輯文件並查看文本狀態
3# 撤銷工做區並查看狀態
git checkout -- test
git status
&2撤銷暫存區的文件
#1查看狀態
#2編輯文件並查看狀態
#3提交至暫存區並查看狀態
#4回撤到工做區並查看狀態
#5撤銷工做區的文件並查看狀態
&3 回滾到任意版本
#1 提交多個版本並查看全部版本
#2 從 v3 版本 回滾 到 v1版本 並查看
#3 回滾到 v2 版本 並查看
注:
1.log
log命令能夠顯示全部提交過的版本信息
2.reflog
若是在回退之後又想再次回到以前的版本,git reflog 能夠查看全部分支的全部操做記錄(包括commit和reset的操做),包括已經被刪除的commit記錄,git log則不能察看已經刪除了的commit記錄
5>分支 (查看、建立、切換)
&1 查看分支
注 : 至少有一個版本被提交,纔會有分支概念
例如:
#1
#2
&2 建立分支
&切換分支
6>分支使用
1& 切換分支至lia
2&編輯test 文件並進行提交
3&切換至主分支
4&查看文本test
5&分支合併
git merge 分支名
6&查看