前面已經寫過這是一篇成爲 git 高手的文章 , 這篇文章是補充幾個經常使用的命令。git
看過前面的文章可能注意到,有些命令是否是很長,好比:bash
git log --graph --decorate --all
複製代碼
這麼下是很累吧,那有沒有辦法能夠簡化呢? 固然能夠,這裏使用別名的方式,通常 安裝 git 後默認會有一個全局 gitconfig 文件,它的位置post
cd ~/
複製代碼
咱們可使用fetch
cat ~/.gitconfig 查看內容
複製代碼
能夠看到筆者將經常使用的幾個指令進行了簡化,好比 checkout 簡化爲 co 等等 ui
那麼你就可使用, git fetchall 來拉去遠程代碼倉庫。spa
經過 git lgall 查看全部的分支樹3d
你能夠直接使用個人:code
[user]
name = your name
email = your email address
[alias]
co = checkout
br = branch
ci = commit
st = status
last = log -1 HEAD
fetchall = fetch --all -p
ap = "add -p "
lgall = log --decorate --all --graph
[color]
ui = auto
複製代碼
接下來還有一個命令,甩鍋命令。就是當你和你的同事之間由於一段代碼吵的不可開交的時候,這個命令就起做用了,它能讓有的人尷尬,有的人開心。這個命令是 blame, 來看使用吧!cdn
git blame 指定的代碼文件
複製代碼
這裏執行 git blame 123.txt, 能夠看到建立者是誰,提交者是誰。看到這兒你還敢說不是你寫的代碼嗎?blog
另外還有一個 reset 命令,不少人喜歡用這種方式切換分支。這種方式切換分支是不對的,最好採用 checkout, 由於 reset 的做用是用來將當前添加到本地代碼倉庫的文件從新回到未提交狀態,當前你用做切換分支的實惠,若是切換回退的某一個文件和你當前版本的某一個文件內容不一樣,這個時候就會致使問題。
這裏能夠看到,咱們添加了一個文件 readme.md
那若是這時候不想提交這個文件,咱們能夠將其 reset 到 add 的狀態。
git reset HEAD readme.md
複製代碼
那切換分支是怎麼操做呢?可是儘可能不要這麼操做。
git reset 3eaa2cb8105498bfcee9806ea496d80b43a32cd8
複製代碼
另一個命令就是 bug 的查找和定位啦! git 提供了二分查找。其實它的遠離很簡單,就是將代碼的提交歷史,按着二分法不斷縮小定位。
既然是用到二分查找,必然要有起點和終點
git bisect start [終點] [起點]
複製代碼
若是執行了, 就會將當前的 HEAD 執行中間的一次結果。這個時候你就能夠經過查看當前的版本是否有問題,若是沒有問題就執行 git bisect good, 這個就會將 HEAD 指向新的提交。
git bisect start HEAD 5df2ffb37f131f93fc1db775e1a7dd36674814c9
複製代碼
若是遇到當前的分支有問題,那麼就執行
git bisect bad
複製代碼
最後使用
git bisect reset 退出查錯,回到最近一次代碼提交
複製代碼