【學了就忘】Git操作 — 29.Git命令設置別名

1、什么是Git命令的別名

Git中命令很多句惯,有些命令比較長土辩,有些命令也不好記,也容易寫錯抢野。

例如:你有沒有經(jīng)常敲錯命令拷淘?比如git status?如果敲git st就表示git status那就簡單多了指孤。

Git 并不會在你輸入部分命令時启涯,自動推斷出你想要執(zhí)行的命令贬堵。 如果不想每次都輸入完整的Git命令,可以通過 git config 文件來輕松地為每一個命令設置一個別名结洼。

也就是給status命令配置別名黎做,告訴Git,以后st就表示status松忍。

總結:什么是別名引几?

別名用于創(chuàng)建映射到較長命令的較短命令。就和Linux命令設置別名一樣挽铁。

2伟桅、別名的全局配置

(1)配置全局別名

我們就以上面說的git status命令為例進行演示。

我們只需要敲一行命令叽掘,告訴Git楣铁,以后st就表示status

# 1.查看工作目錄文件狀態(tài)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
git: 'st' is not a git command. See 'git --help'.

The most similar commands are
        status
        reset
        stage
        stash
        svn

# 可以看到執(zhí)行git st命令的時候,提示“st”不是git命令更扁。

# 2.給他git status 設置別名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --global alias.st status

# 3.再次查看工作目錄文件狀態(tài)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
On branch master
nothing to commit, working tree clean

我們可以看到git status命令設置完別名后盖腕,別名和原命令都可以使用。

說明:

  • --global參數(shù)是全局參數(shù)浓镜,也就是這些命令在這臺電腦的所有Git倉庫下都有用溃列。

  • 我們之前說配置用戶簽名的時候,--global參數(shù)是在系統(tǒng)用戶目錄下的.gitconfig文件中進行配置膛薛。

    配置別名的內(nèi)容如下:

    [user]
      name = sun_wk
      email = sun_wk@126.com
    [alias]   
      st = status # 這里就是配置的別名
    
  • --global參數(shù)配置的是全局參數(shù)听隐,也就是針對該系統(tǒng)用戶,對該系統(tǒng)中所有的Git倉庫的配置哄啄。

    換句話說雅任,就是加上--global參數(shù),該別名對本機中所有的Git倉庫都管用咨跌。

(2)刪除全局別名

有兩種方式:

  1. 打開系統(tǒng)用戶目錄下的.gitconfig文件沪么,把該別名手動刪除。
  2. 使用命令行刪除锌半,執(zhí)行命令:git config --global --unset alias.st禽车。

提示:刪除別名之后,別名失效刊殉。

3殉摔、別名局部配置

(1)配置局部別名

還是以git status命令為例進行演示。

基本上和全局別名的配置一樣冗澈,就是把--global參數(shù)換成--local钦勘,或者就是去掉不寫陋葡。(不寫默認就是執(zhí)行--local參數(shù))

# 下面進行簡單說明
# 1.查看工作目錄文件狀態(tài)亚亲,使用git st不可以
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
git: 'st' is not a git command. See 'git --help'.

The most similar commands are
        status
        reset
        stage
        stash
        svn

# 2.配置別名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config alias.st status

# 3.再次使用git st,查看工作目錄文件狀態(tài)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
On branch master
nothing to commit, working tree clean

說明:

  • 沒有加--global參數(shù),默認在本地版本庫中的配置文件進行配置捌归,所以只針對該倉庫起作用肛响。

  • 我們之前說配置用戶簽名的時候,本地版本庫的配置文件為.git/config文件惜索。

    現(xiàn)在查看該文件如下:

    [core]
      repositoryformatversion = 0
      filemode = false
      bare = false
      logallrefupdates = true
      symlinks = false
      ignorecase = true
    [alias]
      st = status # 這里就是配置的局部別名
    

(2)刪除局部別名

有兩種方式:

  1. 打開當前Git倉庫目錄下的.git/config文件特笋,把該別名手動刪除。
  2. 使用命令行刪除巾兆,執(zhí)行命令:git config --unset alias.st猎物。

提示:刪除別名之后,別名失效角塑。

4蔫磨、刪除所有別名

(1)刪除所有全局別名命令:

$ git config --global --remove-section alias

(2)刪除所有局部別名命令:

$ git config --remove-section alias

5、小練習

我們上一篇文章介紹了圃伶,如何修改Git歷史版本信息內(nèi)容和顏色的顯示堤如。

如:git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(cyan)%s %C(magenta)(%cr) %C(bold blue)<%an>%Creset'

我們就把上命令配置別名,執(zhí)行命令如下:

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(cyan)%s %C(magenta)(%cr) %C(bold blue)<%an>%Creset'"

執(zhí)行git lg命令窒朋,顯示效果如下:

當然你也可以把別名定義為log搀罢。

總結:隨著你繼續(xù)不斷地使用 Git,可能也會經(jīng)常使用別名命令侥猩,所以創(chuàng)建別名這種偷懶的辦法我們是贊成的榔至。

補充:git config --global color.ui true:讓Git顯示顧色,會讓命令輸出看起來更醒目欺劳。(效果沒有上面手動配置的顏色顯示豐富)

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洛退,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子杰标,更是在濱河造成了極大的恐慌兵怯,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腔剂,死亡現(xiàn)場離奇詭異媒区,居然都是意外死亡,警方通過查閱死者的電腦和手機掸犬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門袜漩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人湾碎,你說我怎么就攤上這事宙攻。” “怎么了介褥?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵座掘,是天一觀的道長递惋。 經(jīng)常有香客問我,道長溢陪,這世上最難降的妖魔是什么萍虽? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮形真,結果婚禮上杉编,老公的妹妹穿的比我還像新娘。我一直安慰自己咆霜,他們只是感情好邓馒,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛾坯,像睡著了一般绒净。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上偿衰,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天挂疆,我揣著相機與錄音,去河邊找鬼下翎。 笑死缤言,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的视事。 我是一名探鬼主播胆萧,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼俐东!你這毒婦竟也來了跌穗?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤虏辫,失蹤者是張志新(化名)和其女友劉穎蚌吸,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體砌庄,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡羹唠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了娄昆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片佩微。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖萌焰,靈堂內(nèi)的尸體忽然破棺而出哺眯,到底是詐尸還是另有隱情,我是刑警寧澤扒俯,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布奶卓,位于F島的核電站一疯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寝杖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一互纯、第九天 我趴在偏房一處隱蔽的房頂上張望瑟幕。 院中可真熱鬧,春花似錦留潦、人聲如沸只盹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽殖卑。三九已至,卻和暖如春坊萝,著一層夾襖步出監(jiān)牢的瞬間孵稽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工十偶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留菩鲜,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓惦积,卻偏偏與公主長得像接校,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狮崩,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容