GIT私人定製

和Shell中的alias一樣,git的alias可以用來簡化命令的輸入,一起搞事情。

如果你希望使用git c -m來替換git commit -m,或者使用git s來替換git status,改如何完成?

git config --global alias.c "commit"
git config --global alias.s "status"

相關的配置會保存到~/.gitconfig

[alias]
        c = commit
        s = status

更棒的是,你可以使用alias來完成一些複雜的任務。

例如:我們經常需要將origin/master的最新更改rebase到自己的分支中,可以如下配置

git config --global alias.fr '!git fetch && git rebase -i origin/master'

> git fr
!的作用是,在這個repository的根目錄中執行該命令
因此,你可以在這個repo的任何一個目錄中執行git fr

有一些我覺得不錯的alias,可以給大家參考

git config --global alias.amend "commit — amend"
git config --global alias.g "grep"
git config --global alias.master "checkout master"
git config --global alias.pushf "push --force-with-lease"
git config --global alias.path rev-parse --show-toplevel 

# 幾種格式化的log
git config --global alias.hist "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short"
git config --global alias.standup !git log --all --no-merges --graph --date=relative --committer=$(git config --get user.email) --pretty=format:'%C(cyan) %ad %C(yellow)%h %Creset %s %Cgreen%d' --since=$(if [[ Mon == $(date +%a) ]]; then echo last friday; else echo yesterday; fi) 
git config --global alias.today log --pretty=format:"%Cred%h %Cgreen%cd%Creset | %s%C(auto)%d %Cgreen[%an]%Creset" --date=local --since=midnight 

Last one: Special one

git config — global alias.fxxk reset --hard
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章