GIT概述與基本命令
阿新 • • 發佈:2018-11-17
一 GIT體系概述
GIT是企業開發過程中必不可少的版本管理系統。
還有另外一個比較熱門的同樣開源免費的版本管理工具SVN,比起GIT,SVN唯一的優勢也就是操作簡單了,其他方面都是被碾壓的狀態。
1、儲存方式
GIT把內容按元資料方式儲存類似k/v資料庫,而SVN是按檔案(新版svn已改成元資料儲存)
2、使用方式
從本地把檔案推送遠端服務,GIT需要從最開始的工作區add到local cache(暫存區)、然後再commit到local repository(本地倉庫)、最後push到remote git repository(遠端git倉庫)三個步驟。 而SVN只需要commint
SVN基本使用過程:
GIT基本使用過程:
GIT操作複雜的背後,換來的是強大的功能,如能直接在本地建立版本庫,不用連網也能正常工作;強大的分支功能等等。
3、版本管理模式
git 是一個分散式的版本管理系統(我覺得是強大的核心原因),而要SVN是一個遠端集中式的管理系統
集中式:
分散式:
二 GIT 核心命令使用
本地初始化GIT 倉庫
#基於遠端倉庫克隆至本地
git clone <remote_url>
#當前目錄初始化為git 本地倉庫
git init <directory>
本地新增
#新增指定檔案至暫存區 git add <fileName> #新增指定目錄至暫存區 git add <directory> #新增所有 git add -A #將指定目錄及子目錄移除出暫存區 git rm --cached target -r #新增勿略配置檔案 .gitignore
本地提交
#提交至本地倉庫
git commit file -m '提交評論'
#快捷提交至本地倉庫
git commit -am '快新增與提交'
分支管理
#檢視當前分支 git branch [-avv] #基於當前分支新建分支 git branch <branch name> #基於提交新建分支 git branch <branch name> <commit id> git branch -d {dev} #切換分支 git checkout <branch name> #合併分支 git merge <merge target> #解決衝突,如果因衝突導致自動合併失敗,此時 status 為mergeing 狀態. #需要手動修改後重新提交(commit)
遠端倉庫管理
#檢視遠端配置
git remote [-v]
#新增遠端地址
git remote add origin http:xxx.xxx
#刪除遠端地址
git remote remove origin
#上傳新分支至遠端
git push --set-upstream origin master
#將本地分支與遠端建立關聯
git branch --track --set-upstream-to=origin/test test
tag 管理
#檢視當前
git tag
#建立分支
git tag <tag name> <branch name>
#刪除分支
git tag -d <tag name>
日誌管理
#檢視當前分支下所有提交日誌
git log
#檢視當前分支下所有提交日誌
git log {branch}
#單行顯示日誌
git log --oneline
#比較兩個版本的區別
git log master..experiment
#以圖表的方式顯示提交合併網絡
git log --pretty=format:'%h %s' --graph