16个不错的 git 别名
git 是一個(gè)非常棒的源代碼管理工具,它的使用已經(jīng)完全整合到開(kāi)發(fā)的工作流當(dāng)中;同時(shí),git 還是一個(gè) review/OTAP/deployment 工具。
當(dāng)在 CLI 中使用 git 時(shí),有時(shí)必須輸入很多比較長(zhǎng)的命令來(lái)完成一些事情。盡管大部分 git 命令是很簡(jiǎn)單的,但是也有一些非常復(fù)雜并難以輸入的命令。而開(kāi)發(fā)人員是比較懶的,并會(huì)盡可能的少輸入命令。
因?yàn)樯鲜銮闆r很符合我,所以對(duì)于我經(jīng)常使用的 git 命令,我會(huì)使用其別名來(lái)代替,并會(huì)改進(jìn)命令的返回信息。在這篇文章中,我會(huì)介紹一些簡(jiǎn)單但非常有用的 git 別名。
簡(jiǎn)化常用的 git 命令的別名
一些 git 別名非常簡(jiǎn)單,用這些別名替換原始的 git 命令也意味著減少你的輸入,這有一個(gè)別名列表:
co = checkout # Checkout a branch cob = checkout -b # Checkout a new not yet existing branch f = fetch -p # Fetch from a repository and prune any remote-tracking references that no longer exist on the remote. c = commit # Commit you changes p = push # Push you changes to a remote ba = branch -a # List both remote-tracking branches and local branches. bd = branch -d # Delete a branch only if it has been merged bD = branch -D # Force delete a branch dc = diff --cached # Display the staged changes查看 git 的提交狀態(tài)
查看當(dāng)前工作目錄的提交狀態(tài)是大多數(shù)開(kāi)發(fā)者的一項(xiàng)日常工作。我們會(huì)分段查看自己對(duì)哪些文件做了改變,并判斷我們是否改變了原本不打算改變的文件。
將命令簡(jiǎn)化,并讓其顯示更多的信息:
st = status -sb例如:
在 patches 中呈現(xiàn) git 改變
我喜歡在添加改變之前進(jìn)行 review,或許你也這么做。git diff?是能實(shí)現(xiàn)這個(gè)需求的一個(gè)不錯(cuò)的工具。但如果你只想添加你改變的那部分,或者每次只想 review 一小部分,你可以將你改變的那部分分多次提交。
在這種情況下,git add -p?能解決你的需求:
a = add -p例如:
更有用的 git 日志
git 日志能幫助我們查看在工作目錄下對(duì)代碼做了哪些改變,日志不僅記錄了代碼的提交歷史,而且會(huì)記錄分支的合并情況。當(dāng)我們?輸入規(guī)范的提交信息?時(shí),git 日志就成為一個(gè)查看代碼變更和為什么變更的重要工具。
改善 git 日志的輸出能快速定位這些改變:
plog = log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'例如:
例如:
例如:
按照合并數(shù)量給貢獻(xiàn)者排序
當(dāng)你對(duì)某個(gè) project 有問(wèn)題并想找一個(gè)人說(shuō)明時(shí),怎么找到這個(gè) project 的第一貢獻(xiàn)者就非常有必要了。
rank = shortlog -sn --no-merges例如:
刪除所有已合并的分支
在提交 PR 之前,我們需要?jiǎng)?chuàng)建一個(gè)本地分支來(lái)提交代碼,時(shí)間久了之后,你就會(huì)發(fā)現(xiàn)有很多已經(jīng)合并到 master 上的分支,一個(gè)一個(gè)刪除這些分支是比較麻煩的事。
當(dāng)這些已經(jīng)合并的分支的數(shù)量很大時(shí),用一個(gè)簡(jiǎn)單的別名來(lái)刪除這些分時(shí)是很方便的。這個(gè)別名會(huì)刪除所有已經(jīng)合并到你當(dāng)前所在分支的分支:
bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"例如:
相關(guān)文章
- 有用的git建議
- Git的奇技淫巧
原文:16 awesome git aliases that you will love
from:?https://github.com/dwqs/blog/issues/3?
總結(jié)
以上是生活随笔為你收集整理的16个不错的 git 别名的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: git reset --hard、git
- 下一篇: git 常用别名