git分佈式版本控制工具

一、簡介
git是一個開源的分佈式的版本控制工具,是由linux系統的始祖linus編寫完成的,自上線以來,迅速成爲最受歡迎的版本控制工具之一。目前許多公司的開源項目都會放在github上。目前常用的版本控制工具還有svn,cvs等。
部分git名詞:
工作區
暫存區
分支
版本庫
倉庫
遠程倉庫
二、git安裝
我使用的操作系統是centos6.5,一般情況git是沒有安裝的,但git的安裝非常方便,只需把本地鏡像掛載上去,使用yum安裝即可
git分佈式版本控制工具
三、git使用
1.創建版本庫
首先先建立一個git的工作目錄
git分佈式版本控制工具
進入工作目錄,執行

git init

git分佈式版本控制工具
生成一個git倉庫
git分佈式版本控制工具
你所要管理的代碼,文件都應放在git倉庫下,不然git無法處理,本例中的git倉庫爲/root/git_study。
2.git常用操作
新建文件test.txt
git分佈式版本控制工具
2.1、把文件添加到倉庫,這裏就是把文件從工作區扔到暫存區,通過git status查看當前版本庫文件狀態信息

git add <filename>

git分佈式版本控制工具
把文件提交到當前分支,其實就是把文件從暫存區提交到了當前分支,git commit是把當前所有提交到暫存區的文件全部提交到當前分支,通過git status查看當前版本庫文件狀態信息

git commit --message "提交的說明信息",message可簡寫爲m

git分佈式版本控制工具
修改test.txt文件,查看當前版本庫文件狀態信息
git分佈式版本控制工具
git分佈式版本控制工具
根據提示可知文件已經被修改,但暫時未被提交到暫存區,也有提示我們要如何做
查看當前工作區文件的修改

git diff <filename>

git分佈式版本控制工具
將當前修改過的版本提交到版本庫
git分佈式版本控制工具
那麼當前版本庫中就有兩個版本的test.txt文件,分別是最初創建時提交的版本和後來添加了一句話的版本
查看版本提交日誌

git log

git分佈式版本控制工具
這樣顯示的內容有點多,可以使用以下命令

 git log  --pretty=oneline

這裏博主又添加了一個版本到版本庫
git分佈式版本控制工具
2.2、版本回退
回退到上一個版本,即add new版本

git reset --hard HEAD^

git分佈式版本控制工具
提示我們已經回退到add new的版本,查看文件內容,發現回退成功,是不是功能很強大
git分佈式版本控制工具
顯示用戶的操作日誌

git reflog

git分佈式版本控制工具
這裏第一個字段是commit id,和前邊使用git log查出來的一致,這裏取得是前幾個字符,如果想要回退到哪個操作,可以使用以下命令

git reset --hard commit id

例如再回到add twice版本
git分佈式版本控制工具
查看文件可以發現已經迴歸到add twice版本
git分佈式版本控制工具
2.3、撤銷修改
因爲自己一不小心在文件中寫了不好的東西,但還未git add ,可以使用以下命令撤銷修改

git checkout -- 文件名

git做的很全面,也可以從git status中查看提示進行操作
git分佈式版本控制工具
git分佈式版本控制工具
查看文件可知,已經撤銷修改,回退的是最近git commit或者git add時的狀態
git分佈式版本控制工具
如果自己已經git add到暫存區,怎麼修改?
git分佈式版本控制工具
首先撤回已經提交到暫存區的內容

git reset HEAD 文件名

git分佈式版本控制工具
然後撤回工作區的修改,查看文件已經撤銷修改
git分佈式版本控制工具
2.4、刪除文件
按照正常的刪除文件,直接rm -rf 文件名就解決了
git分佈式版本控制工具
但版本庫中還有,如果要刪除版本庫的文件,使用以下命令並git commit

git rm 文件名

git分佈式版本控制工具
這是查看git status就正常了
git分佈式版本控制工具
這樣最近一次的修改會被刪除,但依舊可以回到test.txt的其它版本
git分佈式版本控制工具
2.5、遠程倉庫
我們可以把本地的git倉庫關聯到遠程倉庫上,例如github,這是一個免費的遠程倉庫,當然你也可以自己構建遠程倉庫,但你要將自己的公鑰加到遠程倉庫中。這裏不再贅述。參考以下鏈接
如何添加公鑰到遠程倉庫
添加遠程倉庫origin到本地。就是關聯遠程倉庫(將github作爲備份)

git remote add origin [email protected]:user/gitname

git分佈式版本控制工具
查看遠程倉庫

git remote

git分佈式版本控制工具
把本地倉庫推送到origin遠程倉庫的master分支,以下三個操作還是比較重要的,但是由於精力有限,後邊再補充吧

git push -u origin master

刪除遠程倉庫origin

git remote rm origin

從遠程倉庫克隆

git clone git@[email protected]:user/githubname

2.6、分支管理
分支是git的一大特色功能,可以創建不同的分支,開發不同的功能,最後合併到主分支上然後發佈,每個分支上互不干擾,既安全有快捷
創建新的分支(默認是在master分支),*標記的是當前所處分支

git branch branchname

git分佈式版本控制工具
切換分支

git checkout branchaname

git分佈式版本控制工具
查看分支

git branch

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

git checkout -b branchname

git分佈式版本控制工具
刪除分支

git branch -d branchname

git分佈式版本控制工具
合併分支,將分支合併到主分支

git merge branchname

git分佈式版本控制工具
後續繼續補充

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章