1. 程式人生 > >GIT概述與基本命令

GIT概述與基本命令

一 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

官方客戶端: https://git-scm.com/downloads