0x00 快速查看日志(簡潔日志)
使用 git log 查看提交歷史時,默認輸出信息較長。可以使用以下命令來簡潔地查看每次提交的摘要:
> git log --oneline --graph --decorate --all
--oneline: 每個提交顯示一行。
--graph: 顯示分支合并的 ASCII 圖形。
--decorate: 顯示分支名和標簽。
--all: 顯示所有分支的提交。
0x01 跳過暫存區直接提交
平時修改代碼后需要先 git add . 暫存再 git commit 提交。你可以使用 -a 選項跳過暫存區,直接提交所有修改過的文件(不包括新增文件)。
> git commit -am "提交信息"
0x02 撤銷最近的提交(軟撤銷)
如果你剛提交了一些代碼,但發現有錯誤,想要撤銷最近的一次提交并保留代碼修改,可以使用 git reset 命令:
> git reset --soft HEAD\~1
這樣會撤銷最近的提交,但不會丟失代碼改動。
0x03 刪除最近的提交(硬撤銷)
如果你想完全撤銷最近的提交和更改(丟失修改),可以使用 --hard 選項:
> git reset --hard HEAD\~1
注意:這個操作不可逆,修改內容會丟失。
0x04 快速查看文件修改
想要快速查看工作區和暫存區文件的修改情況,可以用 git diff:
查看工作區未暫存的修改:
> git diff
查看已暫存的修改:
> git diff --staged
0x05 暫存當前工作并切換分支
當你在一個分支上工作,還未完成當前修改時需要切換到另一個分支,可以使用 git stash 將當前工作區的更改暫存。
> git stash
> git checkout other-branch
完成其他工作后,可以恢復之前的修改。
> git stash apply
0x06 強制刪除分支
有時候我們會遇到無法刪除分支的情況,例如該分支未合并。你可以強制刪除它:
> git branch -D branch-name
0x07 修改最后一次提交
如果你想更改上一次提交的內容或者提交信息,可以使用 --amend 選項來修改:
> git commit --amend
你可以修改提交信息,也可以通過 git add 來修改提交的文件。
0x08 檢查本地和遠程的區別
想要快速檢查本地分支和遠程分支的差異,可以使用以下命令:
> git fetch origin
> git diff origin/main
這樣可以查看遠程主分支和本地主分支之間的差異。
0x09 查看特定文件的歷史
有時我們想查看一個文件的所有修改記錄,可以使用 git log 并指定文件路徑:
> git log -- path/to/file
0x0A 還原文件到某個提交版本
如果你想將文件恢復到某個特定提交的版本,可以使用:
> git checkout commit\_hash -- path/to/file
0x0B 顯示當前分支名稱
你可以通過以下命令快速顯示當前 Git 分支名稱:
> git rev-parse --abbrev-ref HEAD
0x0C配置別名
Git 允許你為常用的命令設置別名,提高操作速度。例如,可以為 git status 設置別名:
> git config --global alias.st status
現在你只需要輸入 git st 就可以查看狀態了