首頁 > 軟體

Git分散式版本控制工具

2020-06-16 16:46:19

一、簡介

git是一個開源的分散式的版本控制工具,是由linux系統的始祖linus編寫完成的,自上線以來,迅速成為最受歡迎的版本控制工具之一。目前許多公司的開源專案都會放在github上。目前常用的版本控制工具還有svn,cvs等。

部分git名詞:

  • 工作區
  • 暫存區
  • 分支
  • 版本庫
  • 倉庫
  • 遠端倉庫

二、git安裝

我使用的作業系統是CentOS6.5,一般情況git是沒有安裝的,但git的安裝非常方便,只需把本地映象掛載上去,使用yum安裝即可

三、git使用

1.建立版本庫

首先先建立一個git的工作目錄

進入工作目錄,執行

git init

生成一個git倉庫

你所要管理的程式碼,檔案都應放在git倉庫下,不然git無法處理,本例中的git倉庫為/root/git_study。

2.git常用操作

新建檔案test.txt

2.1、把檔案新增到倉庫,這裡就是把檔案從工作區扔到暫存區,通過git status檢視當前版本庫檔案狀態資訊

git add

把檔案提交到當前分支,其實就是把檔案從暫存區提交到了當前分支,git commit是把當前所有提交到暫存區的檔案全部提交到當前分支,通過git status檢視當前版本庫檔案狀態資訊

git commit --message "提交的說明資訊",message可簡寫為m

修改test.txt檔案,檢視當前版本庫檔案狀態資訊

根據提示可知檔案已經被修改,但暫時未被提交到暫存區,也有提示我們要如何做

檢視當前工作區檔案的修改

git diff filename>

將當前修改過的版本提交到版本庫

那麼當前版本庫中就有兩個版本的test.txt檔案,分別是最初建立時提交的版本和後來新增了一句話的版本

檢視版本提交紀錄檔

git log

這樣顯示的內容有點多,可以使用以下命令

 git log  --pretty=oneline

這裡博主又新增了一個版本到版本庫

2.2、版本回退

回退到上一個版本,即add new版本

git reset --hard HEAD^

提示我們已經回退到add new的版本,檢視檔案內容,發現回退成功,是不是功能很強大

顯示使用者的操作紀錄檔

git reflog

這裡第一個欄位是commit id,和前邊使用git log查出來的一致,這裡取得是前幾個字元,如果想要回退到哪個操作,可以使用以下命令

git reset --hard commit id

例如再回到add twice版本

檢視檔案可以發現已經回歸到add twice版本

2.3、復原修改

因為自己一不小心在檔案中寫了不好的東西,但還未git add ,可以使用以下命令復原修改

git checkout -- 檔名

git做的很全面,也可以從git status中檢視提示進行操作

檢視檔案可知,已經復原修改,回退的是最近git commit或者git add時的狀態

如果自己已經git add到暫存區,怎麼修改?

首先撤回已經提交到暫存區的內容

git reset HEAD 檔名

然後撤回工作區的修改,檢視檔案已經復原修改

2.4、刪除檔案

按照正常的刪除檔案,直接rm -rf 檔名就解決了

但版本庫中還有,如果要刪除版本庫的檔案,使用以下命令並git commit

git rm 檔名

這是檢視git status就正常了

這樣最近一次的修改會被刪除,但依舊可以回到test.txt的其它版本

2.5、遠端倉庫

我們可以把原生的git倉庫關聯到遠端倉庫上,例如github,這是一個免費的遠端倉庫,當然你也可以自己構建遠端倉庫,但你要將自己的公鑰加到遠端倉庫中。這裡不再贅述。參考以下連結

如何新增公鑰到遠端倉庫

新增遠端倉庫origin到本地。就是關聯遠端倉庫(將github作為備份)

git remote add origin git@github.com:user/gitname

檢視遠端倉庫

git remote

把本地倉庫推播到origin遠端倉庫的master分支,以下三個操作還是比較重要的,但是由於精力有限,後邊再補充吧

git push -u origin master

刪除遠端倉庫origin

git remote rm origin

從遠端倉庫克隆

git clone git@git@github.com:user/githubname

2.6、分支管理

分支是git的一大特色功能,可以建立不同的分支,開發不同的功能,最後合併到主分支上然後發布,每個分支上互不干擾,既安全有快捷

建立新的分支(預設是在master分支),*標記的是當前所處分支

git branch branchname

切換分支

git checkout branchaname

檢視分支

git branch

前面建立分支,切換分支要兩步,可以一步完成,建立分支並切換到分支

git checkout -b branchname

刪除分支

git branch -d branchname

合併分支,將分支合併到主分支

git merge branchname

後續繼續補充

將Git版本號編譯進程式  https://www.linuxidc.com/Linux/2018-07/153239.htm
Git的工作模式和工作流程 https://www.linuxidc.com/Linux/2018-05/152154.htm
Git建立遠端/本地伺服器和Git命令的使用 https://www.linuxidc.com/Linux/2018-05/152153.htm
程式碼版本控制Git工具使用詳解 https://www.linuxidc.com/Linux/2018-04/151973.htm
Git重要概念與常用命令 https://www.linuxidc.com/Linux/2018-04/151810.htm
Git常用命令總結 https://www.linuxidc.com/Linux/2018-04/151809.htm
Git常用命令整理,詳細全面 https://www.linuxidc.com/Linux/2018-04/151805.htm
Git實用技巧和命令  https://www.linuxidc.com/Linux/2018-08/153480.htm

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-09/154110.htm


IT145.com E-mail:sddin#qq.com