1.狀態檢視:
git status 可以檢視工作區,暫存區的狀態
-
untracked 在暫存區沒有該檔案
-
modified 修改過
-
staged 使用git add 暫存過
2.新增操作:
3.提交操作
git commit -m "commit message" [file name] 將暫存區的內容提交到本地倉庫
4.檢視歷史記錄
git log 多屏顯示控制方式 空格向下翻頁 b向上翻頁 q退出 git log --pretty=online // 簡潔方式 git log --oneline git reflog
5.前進後退
-
5.1基於索引值操作[推薦] git reset --hard [索引值]
-
5.2使用^符號:只能後退 git reset --hard HEAD^(表示往後退一步,後退幾步加幾個^)
-
5.3使用~符號:只能後退 git reset --hard HEAD~n(表示後退n步)
6.reset命令的三個引數對比
-
--soft 引數
僅僅在本地庫移動指標
-
--mixed引數
在本地庫移動HEAD指標
重置暫存區
-
--hard引數(常用)
在本地庫移動HEAD指標
重置暫存區
重置工作區
7.刪除檔案後找回
前提:刪除前,檔案存在的狀態提交到了本地庫
操作:git reset --hard[指標位置]
-
刪除操作已經提交到本地庫:指標位置指向歷史記錄
-
刪除操作尚未提交到本地庫:指標位置使用HEAD
8.檔案比較
-
git diff [檔名] 將工作區中的檔案和暫存區進行比較
-
git diff [本地庫歷史版本] [檔名] 將工作區中的檔案和本地歷史版本進行比較
-
不帶檔名可以比較多個檔案
-
git diff --cached 比較快取區與本地庫最近一次commit內容
-
git diff HEAD 比較工作區與本地最近一次commit內容
-
git diff <commit ID> <commit ID> 比較兩個commit之間的差異
9.分支管理
-
git branch 檢視本地分支
-
git branch -r 檢視遠端分支
-
git branch [分支名] 新建一個分支
-
git branch -d [分支名] 刪除分支
-
git checkout [分支名] 切換分支
-
git checkout -b [分支名] 新建分支並切換到該分支
-
git merge [分支名] 合併分支
-
git branch --merged 檢視哪些分支已經合併到當前分支
-
git branch --no-merged 檢視哪些分支沒有合併到當前分支
10.git遠端庫別名
git remote add [別名] [遠端庫地址]
11.遠端庫修改的拉取
pull = fetch + merge
git pull [遠端庫地址別名] [遠端庫分支名]
git fetch [遠端庫地址別名] [遠端庫分支名]
12.推送到遠端庫
git push [遠端庫地址別名] [遠端庫分支名]
13.檔案暫存
-
git stash save -a "message" 新增改動到stash
-
git stash drop
<stash@(ID)>
刪除暫存 -
git stash list 檢視stash列表
-
git stash clear 刪除全部暫存
-
git stash pop
<stash@(ID)>
恢復改動
14.撤銷操作
-
git checkout -- <file> 撤銷工作區修改
-
git reset HEAD <file> 撤銷暫存區檔案(不覆蓋工作區)
-
git reset --(soft | mixed | hard) <HEAD -num> | <commit ID> 版本回退
15.線上回滾操作
方法一:(強制指標回移)
1.檢視歷史記錄
git reflog
2.本地分支回滾到指定版本
git reset --hard [索引值]
3.強推到遠端(直接push推不上去,需要強推,因為reset之後,遠端分支比本地分支新)
git push -f origin [遠端分支名]
方法二:(推薦)
1.檢視歷史記錄
git reflog
2.反向新建立一個版本,這個版本的內容與我們回滾的版本內容一致,HEAD會指向這個新版本,而不是回退到之前版本
git revert [索引值]
3.直接推送到遠端即可
git push origin [遠端分支名]
16.檢視文件
git help -a 展示git命令大綱全部列表
git help git help [命令]