git簡介:
Git是目前世界上最先進的分佈式版本控制系統(VCS-Vetsion Control System)。可以將同一個文件在不同時間的修改結果保存到git倉庫中,隨時可以恢復到某個需要的版本進行查看。 具體功能有:
紀錄文件的所有歷史變化
隨時可恢復到任何一個歷史狀態
多人協作開發或修改
恢復錯誤
多功能並行開發
git術語:
工作區(Working Directory):就是你在電腦裏能看到的目錄,比如我的/pro文件夾就是一個工作區。
版本庫(Repository):工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。Git的版本庫裏存了很多東西,其中最重要的就是稱爲stage(或者叫index)的暫存區,還有Git爲我們自動創建的第一個分支master .
我們把文件往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 #查看特點的幫助
實例:
#目標:
1、創建一個項目目錄/gg
2、設置git的全局參數
3、用git對目錄中的文件版本進行管理:初始化git數據
4、管理工作如下:(生成文件、提交版本、恢復)
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 "[email protected]" #設置git用戶的郵箱
git config --list #查看設置
例如:設置了一個gg用戶 , 郵箱爲[email protected]
在/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 [email protected]
git clone [email protected]:/srv/sample.git
如果克隆成功 , 則說明git客戶端配置成功
以上實例自行去實驗 .