Git 常用命令手冊

2021-09-02 05:58:49 字數 4879 閱讀 4472

初始化倉庫

git init

將檔案新增到倉庫

# 將工作區的某個檔案新增到暫存區

git add 檔名

# 新增所有被tracked檔案中被修改或刪除的檔案資訊到暫存區,不處理untracked的檔案

git add -u

# 新增所有被tracked檔案中被修改或刪除的檔案資訊到暫存區,包括untracked的檔案

git add -a

# 將當前工作區的所有檔案都加入暫存區

git add .

# 進入互動介面模式,按需新增檔案到快取區

git add -i

將暫存區檔案提交到本地倉庫

# 將暫存區內容提交到本地倉庫

git commit -m "提交說明"

# 跳過快取區操作,直接把工作區內容提交到本地倉庫

git commit -a -m "提交說明"

檢視倉庫當前狀態

git status

比較檔案異同

# 工作區與暫存區的差異

git diff

#工作區與某分支的差異,遠端分支這樣寫:remotes/origin/分支名

git diff 分支名

# 工作區與head指標指向的內容差異

git diff head

# 工作區某檔案當前版本與歷史版本的差異

git diff 提交id 檔案路徑

# 工作區檔案與上次提交的差異(1.6 版本前用 --cached)

git diff --stage

# 檢視從某個版本後都改動內容

git diff 版本tag

# 比較從分支a和分支b的差異(也支援比較兩個tag)

git diff 分支a 分支b

# 比較兩分支在分開後各自的改動

git diff 分支a...分支b

另外:

如果只想統計哪些檔案被改動,多少行被改動,可以新增--stat引數

檢視歷史記錄

# 檢視所有commit記錄(sha-a校驗和,作者名稱,郵箱,提交時間,提交說明)

git log

# 檢視最近多少次的提交記錄

git log -p -次數

# 簡略顯示每次提交的內容更改

git log --stat

# 僅顯示已修改的檔案清單

git log --name-only

# 顯示新增,修改,刪除的檔案清單

git log --name-status

# 讓提交記錄以精簡的一行輸出

git log --oneline

# 圖形展示分支的合併歷史

git log –graph –all --online

# 查詢作者的提交記錄(和grep同時使用要加乙個--all--match引數)

git log --author=作者

# 列出提交資訊中包含過濾資訊的提交記錄

git log --grep=過濾資訊

# 和--grep類似,s和查詢內容間沒有空格

git log -s查詢內容

# 檢視某檔案的修改記錄,找背鍋專用

git log filename

**回滾

# 恢復成上次提交的版本

git reset head^

# 恢復成上上次提交的版本,就是多個^,以此類推或用~次數

git reset head^^

git reflog

git reset --hard 版本號

--soft:只是改變head指標指向,快取區和工作區不變;

--mixed:修改head指標指向,暫存區內容丟失,工作區不變;

--hard:修改head指標指向,暫存區內容丟失,工作區恢復以前狀態;

同步遠端倉庫

git push -u origin master

刪除版本庫檔案

git rm 檔名

版本庫里的版本替換工作區的版本

git checkout -- test.txt

本地倉庫內容推送到遠端倉庫

git remote add origin 	[email protected]:帳號名/倉庫名.git

從遠端倉庫轉殖專案到本地

git clone 	[email protected]:git帳號名/倉庫名.git

建立分支

git checkout -b dev

-b表示建立並切換分支

上面一條命令相當於一面的二條:

git branch dev //建立分支

git checkout dev //切換分支

檢視分支

git branch

合併分支

git merge dev

//用於合併指定分支到當前分支

git merge --no-ff -m "merge with no-ff" dev

//加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併

刪除分支

git branch -d dev

檢視分支合併圖

git log --graph --pretty=oneline --abbrev-commit

檢視遠端庫資訊

git remote

// -v 顯示更詳細的資訊

git相關配置

# 安裝完	git後第一件要做的事,設定使用者資訊(global可換成local在單獨專案生效):

git config --global user.name "使用者名稱" # 設定使用者名稱

git config --global user.email "使用者郵箱" #設定郵箱

# 檢視使用者名稱是否配置成功

git config --global user.name

# 檢視郵箱是否配置

git config --global user.email

其他檢視配置相關

# 檢視全域性設定相關引數列表

git config --global --list

# 檢視本地設定相關引數列表

git config --local --list

# 檢視系統配置引數列表

git config --system --list

# 檢視所有 git的配置(全域性+本地+系統)

git config --list

#顯示git相關顏色

git config --global color.ui true

撤消某次提交

# 撤銷最近的乙個提交

git revert head

# 撤銷某次commit

git revert 版本號

拉取遠端分支到本地倉庫

# 會在本地新建分支,並自動切換到該分支

git checkout -b 本地分支 遠端分支

# 會在本地新建分支,但不會自動切換,還需checkout

git fetch origin 遠端分支:本地分支

# 建立本地分支與遠端分支的鏈結

git branch --set-upstream 本地分支 遠端分支

標籤命令

#打標籤命令,預設為head

git tag 標籤

#顯示所有標籤

git tag

#給某個commit版本新增標籤

git tag 標籤 版本號

#顯示某個標籤的詳細資訊

git show 標籤

同步遠端倉庫更新

git fetch  origin master

然後比較本地的master分支和origin/master分支的差別,最後進行合併。

git fetch比 git pull更加安全

git常用命令手冊

大白菜 本手冊列舉了一些常用的git命令,作業系統環境為macos 10.15.3 首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活 那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合併到maste...

Git 常用命令速查手冊

一般來說,日常使用只要記住下圖6個命令,就可以了。但是熟練使用,恐怕要記住60 100個命令。下面是我整理的常用 git 命令清單。幾個專用名詞的譯名如下。workspace 工作區 index stage 暫存區 repository 倉庫區 或本地倉庫 remote 遠端倉庫 git init ...

git常用命令手冊,使用更高效

推送到遠端倉庫 github設定新增ssh 一.設定git的全域性變數 使用者名稱和郵箱 git config global user.name 使用者名稱 建議是英文 建立使用者名稱 git config global user.email 郵箱位址 建立郵箱 二.建立乙個新的倉庫 git clo...