git 最新筆記,工作中的必會技能
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 [命令]