git 最新筆記,工作中的必會技能

逐夢song發表於2020-11-22
1.狀態檢視:

git status 可以檢視工作區,暫存區的狀態

  • untracked 在暫存區沒有該檔案

  • modified 修改過

  • staged 使用git add 暫存過

2.新增操作:

git add [file name] 將工作區的新建/修改新增到暫存區

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 [命令]

相關文章