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

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