用了這麼久的 Git,這些冷門命令纔是提效神器
Git 作爲開發者的必備工具,大家都用得很熟了。但其實,除了常用的 add、commit、push、pull 這些命令,Git 還有很多冷門但極其實用的命令,能大大提升你的開發效率。今天就來盤點一下那些你可能沒用過,但用上就離不開的 Git 冷門命令!
- git stash - 臨時保存工作進度
有時候你在開發新功能,突然需要切換分支修復 bug,但當前代碼還沒寫完,不能直接 commit。這時候 git stash
就能幫你把當前的修改 "藏" 起來,等你修完 bug 再恢復。
git stash # 暫存當前所有未提交的更改
git stash pop # 恢復最近一次 stash 並刪除
git stash list # 查看所有 stash
git stash apply # 恢復最近一次 stash,但不刪除
- git cherry-pick - 精準 "搬運" 提交
只想把某個分支的某個 commit 拿到當前分支?用 git cherry-pick
,不用合併整個分支。
git cherry-pick <commit-hash>
- git reflog - 找回丟失的提交
誤刪分支、reset 回退、rebase 出錯?別慌,git reflog
能幫你找回所有歷史操作記錄,甚至是已經 "看不見" 的 commit。
git reflog
git checkout <commit-hash>
- 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
- git blame - 追蹤每一行的 "罪魁禍首"
想知道某一行代碼是誰、什麼時候改的?git blame
一查便知。
git blame <file>
- git shortlog - 統計貢獻者提交
想快速統計每個人的提交數量?git shortlog
一行命令搞定。
git shortlog -sn
- git clean - 清理無用文件
項目目錄裏有些沒被 git 跟蹤的臨時文件?用 git clean
一鍵清理。
git clean -fd
# -f 強制,-d 包含目錄
- git log --graph - 可視化分支歷史
用 git log --graph
可以用 ASCII 圖形直觀展示分支和合並歷史,配合 --oneline
更加簡潔。
git log --graph --oneline --all
- git commit --amend - 修改最後一次提交
提交後發現漏了點東西?用 git commit --amend
直接補上,無需新建 commit。
# 先補充更改
git add .
git commit --amend
- 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