git簡介:git
Git是目前世界上最早進的分佈式版本控制系統(VCS-Vetsion Control System)。能夠將同一個文件在不一樣時間的修改結果保存到git倉庫中,隨時能夠恢復到某個須要的版本進行查看。 具體功能有:centos
紀錄文件的全部歷史變化緩存
隨時可恢復到任何一個歷史狀態安全
多人協做開發或修改服務器
恢復錯誤網絡
多功能並行開發ssh
git術語:分佈式
工做區(Working Directory):就是你在電腦裏能看到的目錄,好比個人/pro文件夾就是一個工做區。ide
版本庫(Repository):工做區有一個隱藏目錄.git,這個不算工做區,而是Git的版本庫。Git的版本庫裏存了不少東西,其中最重要的就是稱爲stage(或者叫index)的暫存區,還有Git爲咱們自動建立的第一個分支master .centos7
咱們把文件往Git版本庫裏添加的時候,是分兩步執行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的全部內容提交到當前分支。
由於咱們建立Git版本庫時,Git自動爲咱們建立了惟一一個master分支,因此,如今,git commit就是往master分支上提交更改。
你能夠簡單理解爲,須要提交的文件修改統統放到暫存區,而後,一次性提交暫存區的全部修改。
git基本命令的使用:
安裝git , 在Linux系統中是自帶git軟件的
rpm -q git #查看git是否安裝
yum install -y git #安裝git軟件
rpm -qc git #查看git的配置文件
git init #初始化git , 建立git倉庫
git config --global user.name '用戶名' #設置git用戶信息
git config --global user.mail "用戶郵箱" #設置git用戶郵箱
git status #查看git狀態
git add 文件 #將文件添加到緩存區中 , 對文件進行跟蹤
git commit -m '提交版本備註信息' #提交當前版本 並 備註當前版本信息
git log #查看git日誌
git checkout 版本hash值 #切換版本
git --help #查看幫助
git help config #查看特色的幫助
實例:
#目標:
一、建立一個項目目錄/gg
二、設置git的全局參數
三、用git對目錄中的文件版本進行管理:初始化git數據
四、管理工做以下:(生成文件、提交版本、恢復)
a、建立新文件
b、用git將文件添加到git的緩存區
c、用git提交當前版本,並查看git狀態和日誌
d、再次在/gg目錄中建立一個文件,參考b、c步驟的步驟處理新添加的文件
e、再次執行d的操做。
f、刪除其中一個文件,將刪除操做提交保存到版本信息中,查看git狀態和日誌。
g、用git恢復到第一次保存的版本,用ls查看目錄中有哪些文件。
k、查看git日誌文件,恢復到my.txt第3次保存的版本,查看my.txt文件內容。
實驗操做步驟:
先安裝git , 安裝好後初始化一個新git倉庫
建立一個文件夾(或使用已有文件夾)
mkdir /gg #建立一個/gg目錄
cd /gg #進入到/gg目錄中
git init #初始化git , 建立git倉庫
ls -a #查看/gg隱藏文件 , 發現有.git則初始化成功
進行一些基本信息設置(該步驟在建立好的目錄中設置全局)
git config --global user.name "user" #設置git的全局用戶
git config --global user.mail "user@qq.com" #設置git用戶的郵箱
git config --list #查看設置
例如:設置了一個gg用戶 , 郵箱爲gg@qq.com
在/gg目錄中建立一些文件 , 例如建立a1.txt , a2.txt , a3.txt這些文件
用git將文件添加到git緩存區中 , 並查看狀態和git日誌
提交當前版本內容 , 備註爲"file_v1"
再在建立一個a4.txt , 將a4.txt添加到git緩存區中 , 再提交該版本備註爲"file_v2"
此時刪除文件a1.txt和a2.txt文件 , 並執行以前的操做
查看三次版本的日誌文件 , 並切換到第一次的版本中
查看版本1的內容 , 看看是否切換成功
由上圖能夠看出切換成功 , 再次切換到版本3 , 看看目錄的中存在哪些文件
到此實驗結束 , git的使用也到此爲止 !!
碼雲的簡單使用
碼雲是國內的GitHub平臺 , 也是經常使用的git遠程倉庫 , 遠程倉庫要不使用現有的git網絡倉庫服務(GitHub , 碼雲等平臺) , 要不就搭建本身的git倉庫 , 在這裏主要講碼雲的使用 , 以及搭建本身的git倉庫
碼雲的官方網址 :https://gitee.com/
首先咱們應該在碼雲官網註冊一個帳號 , 這裏不作解釋 ; 註冊好帳號後登陸碼雲平臺
第一步 : 在碼雲平臺上建立一個網絡倉庫(項目)
在左上角處能夠看到以下圖所示:
點擊建立 , 進入如下頁面 ,複製倉庫網址
上面複製的圖片爲https的那個網址 , 複製好以後 , 在Linux系統中建立一個文件(/20190318) , 命令以下;
進入到此目錄 , ls查看一下當前文件
對當前目錄進行點操做 , 好比添加幾個文件 , 將/etc/hosts*複製到當前目錄中 , 如圖:
此時查看一下git的狀態 , 並添加須要追蹤的文件
將當前文件版本提交至碼雲 (git push)
此時當前版本已經同步到了碼雲上面 , 咱們能夠在碼雲上面看看文件是否同步
同理再做作一次修改 , 再次把版本提交到碼雲上面去
刪除文件後將版本二提交至碼雲
此時 , 再次查看碼雲上的文件 , 發現碼雲和Linux系統中的文件同樣 , 被刪除的兩個文件都不見了
因爲每次提交都須要輸入用戶名和密碼 , 這樣不只不方便 , 相對來講也不是安全 , 因此在碼雲上能夠上傳公鑰 , 實現免密碼提交同步
只需在本地建立密鑰 , 把公鑰上傳至碼雲便可實現 , 首先生成密鑰
上傳公鑰至碼雲上面:
右上角點擊圖標 , 再點擊設置:
進入以後 , 左邊會有一個安全設置 , 點擊ssh公鑰
上傳公鑰(生成的公鑰在/root/.ssh/di_rsa.pub文件中 , 把裏面的文件複製便可) 如圖:
點擊肯定 , 提示你輸入密碼(碼雲用戶密碼) ,輸入密碼後,出現如下界面,會產生指紋,如圖:
成功上傳密鑰後 , 再次建立一個文件 , 用git clone 將倉庫中的文件下載過來
提交修改後的當前版本至碼雲上面 , 成功提交(免密提交)
再次在碼雲上驗證文件是否同步
此時倉庫中多了a1~a5這5個txt文件 , 同步成功 !!!
git分支管理
在版本回退裏,你已經知道,每次提交,Git都把它們串成一條時間線,這條時間線就是一個分支。截止到目前,只有一條時間線,在Git裏,這個分支叫主分支(即master)。HEAD嚴格來講不是指向提交,而是指向master,master纔是指向提交的,因此,HEAD指向的就是當前分支。
查看分支:git branch •說明:默認主分支爲master
建立分支:git branch 分支名
取出分支版本:git chkeckout -b 分支名
說明:git checkout -b表示建立並切換到分支
實例:
接着上面碼雲的實驗建立分支
上傳以後 , 在碼雲上驗證
git merge dev 合併dev分支到master主分支中
git push origin master •git push origin :dev 刪除遠程的dev分支
搭建本地git hub服務器
拓撲圖:
系統centos7:192.168.11.11(GitHub服務器) , 192.168.11.12(客戶端)
在192.168.11.11(服務器)操做過程:
安裝:yun install -y git
建立文件:mkdir -pv /srv
進入/srv目錄:cd /srv
建立git裸庫git init --bare sample.git
建立git用戶 , 密碼設置爲git : useradd git passwd git
修改/srv目錄的屬主屬組:chown -Rv git:git /srv
服務配置完畢
在192.168.11.12(客戶機)配置以下;
安裝:yum install -y git
建立目錄: mkdir -pv /test
生成公鑰:ssh-keygen
上傳密鑰:ssh-copy-id git@192.168.11.11
git clone git@192.168.11.11:/srv/sample.git
若是克隆成功 , 則說明git客戶端配置成功
以上實例自行去實驗 .