git和码云的使用以及搭建git服务器
?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 ? "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客戶端配置成功
以上實例自行去實驗 .
? ? ? ? ?
轉載于:https://blog.51cto.com/14181896/2365619
總結
以上是生活随笔為你收集整理的git和码云的使用以及搭建git服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手持终端机USB无法同步连接是什么意思?
- 下一篇: Java开发工具和环境,你了解多少?(二