用了這麼久的 Git,這些冷門命令纔是提效神器

Git 作爲開發者的必備工具,大家都用得很熟了。但其實,除了常用的 add、commit、push、pull 這些命令,Git 還有很多冷門但極其實用的命令,能大大提升你的開發效率。今天就來盤點一下那些你可能沒用過,但用上就離不開的 Git 冷門命令!


  1. git stash - 臨時保存工作進度

有時候你在開發新功能,突然需要切換分支修復 bug,但當前代碼還沒寫完,不能直接 commit。這時候 git stash 就能幫你把當前的修改 "藏" 起來,等你修完 bug 再恢復。

git stash           # 暫存當前所有未提交的更改
git stash pop       # 恢復最近一次 stash 並刪除
git stash list      # 查看所有 stash
git stash apply     # 恢復最近一次 stash,但不刪除

  1. git cherry-pick - 精準 "搬運" 提交

只想把某個分支的某個 commit 拿到當前分支?用 git cherry-pick,不用合併整個分支。

git cherry-pick <commit-hash>

  1. git reflog - 找回丟失的提交

誤刪分支、reset 回退、rebase 出錯?別慌,git reflog 能幫你找回所有歷史操作記錄,甚至是已經 "看不見" 的 commit。

git reflog
git checkout <commit-hash>

  1. git bisect - 二分法定位 bug

有時候代碼某次提交後出現了 bug,但具體是哪次改動引入的很難查。git bisect 可以幫你用二分法快速定位問題提交。

git bisect start
git bisect bad                # 標記當前有 bug
git bisect good <commit-hash> # 標記某個歷史提交是好的
# 按提示 checkout、測試、繼續 bisect good/bad,直到定位到問題提交
git bisect reset              # 結束 bisect

  1. git blame - 追蹤每一行的 "罪魁禍首"

想知道某一行代碼是誰、什麼時候改的?git blame 一查便知。

git blame <file>

  1. git shortlog - 統計貢獻者提交

想快速統計每個人的提交數量?git shortlog 一行命令搞定。

git shortlog -sn

  1. git clean - 清理無用文件

項目目錄裏有些沒被 git 跟蹤的臨時文件?用 git clean 一鍵清理。

git clean -fd
# -f 強制,-d 包含目錄

  1. git log --graph - 可視化分支歷史

用 git log --graph 可以用 ASCII 圖形直觀展示分支和合並歷史,配合 --oneline 更加簡潔。

git log --graph --oneline --all

  1. git commit --amend - 修改最後一次提交

提交後發現漏了點東西?用 git commit --amend 直接補上,無需新建 commit。

# 先補充更改
git add .
git commit --amend

  1. git rebase -i - 交互式整理提交歷史

想合併、拆分、重排 commit?git rebase -i 讓你的提交歷史更優雅。

git rebase -i HEAD~5
# 進入交互界面後可 pick、squash、edit 等操作

結語

這些 Git 冷門命令,都是提升開發效率的 "神器"。下次遇到類似場景,不妨試試這些命令,說不定能幫你省下不少時間。如果你還有其他好用的 Git 命令,歡迎留言分享!

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/7jqFdFwskvOcZTwRp87z8g