鍍金池/ 教程/ Java/ 配置別名
操作標(biāo)簽
多人協(xié)作
解決沖突
Git 的誕生
工作區(qū)和暫存區(qū)
搭建 Git 服務(wù)器
Bug 分支
配置別名
從遠(yuǎn)程庫(kù)克隆
分支
添加遠(yuǎn)程庫(kù)
分支管理策略
撤銷修改
安裝 Git
管理修改
生成 SSH key
GitHub
倉(cāng)庫(kù)狀態(tài)
忽略特殊文件
刪除文件
Feature 分支
創(chuàng)建與合并分支
創(chuàng)建版本庫(kù)
創(chuàng)建標(biāo)簽
版本回退
集中式 vs 分布式

配置別名

有沒有經(jīng)常敲錯(cuò)命令?比如 git status?status 這個(gè)單詞真心不好記。

如果敲git st就表示git status那就簡(jiǎn)單多了,當(dāng)然這種偷懶的辦法我們是極力贊成的。

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

$ git config --global alias.st status

好了,現(xiàn)在敲git st看看效果。

當(dāng)然還有別的命令可以簡(jiǎn)寫,很多人都用 co 表示 checkout,ci 表示 commit,br 表示 branch:

$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

以后提交就可以簡(jiǎn)寫成:

$ git ci -m "bala bala bala..."

--global參數(shù)是全局參數(shù),也就是這些命令在這臺(tái)電腦的所有 Git 倉(cāng)庫(kù)下都有用。

在撤銷修改一節(jié)中,我們知道,命令git reset HEAD file可以把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū)。既然是一個(gè)unstage操作,就可以配置一個(gè) unstage 別名:

$ git config --global alias.unstage 'reset HEAD'

當(dāng)你敲入命令:

$ git unstage test.py

實(shí)際上 Git 執(zhí)行的是:

$ git reset HEAD test.py

配置一個(gè)git last,讓其顯示最后一次提交信息:

$ git config --global alias.last 'log -1'

這樣,用git last就能顯示最近一次的提交:

$ git last
commit adca45d317e6d8a4b23f9811c3d7b7f0f180bfe2
Merge: bd6ae48 291bea8
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Thu Aug 22 22:49:22 2013 +0800

    merge & fix hello.py

甚至還有人把 lg 配置成了:

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

來看看git lg的效果:

http://wiki.jikexueyuan.com/project/git-tutorial/images/alias.png" alt="" />

配置文件

配置 Git 的時(shí)候,加上--global是針對(duì)當(dāng)前用戶起作用的,如果不加,那只針對(duì)當(dāng)前的倉(cāng)庫(kù)起作用。

配置文件放哪了?每個(gè)倉(cāng)庫(kù)的 Git 配置文件都放在.git/config文件中:

$ cat .git/config 
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = git@github.com:michaelliao/learngit.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[alias]
    last = log -1

別名就在[alias]后面,要?jiǎng)h除別名,直接把對(duì)應(yīng)的行刪掉即可。

而當(dāng)前用戶的 Git 配置文件放在用戶主目錄下的一個(gè)隱藏文件.gitconfig中:

$ cat .gitconfig
[alias]
    co = checkout
    ci = commit
    br = branch
    st = status
[user]
    name = Your Name
    email = your@email.com

配置別名也可以直接修改這個(gè)文件,如果改錯(cuò)了,可以刪掉文件重新通過命令配置。

上一篇:分支管理策略下一篇:Bug 分支