2021-05-12 14:32:11
Git分散式版本控制工具
一、簡介
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
相關文章