我如何在git中混淆命令?

我看到了某个人的屏幕录像

git st
git ci

上班。 当我这样做时,我得到一个错误,问我是否意味着别的东西。
作为一个git newb,我需要知道你必须做什么才能完成这个任务?


基本上你只需要添加行到~/.gitconfig

[alias]
    st = status
    ci = commit -v

或者你可以使用git config alias命令:

$ git config --global alias.st status 

在unix上,如果别名有空格,请使用单引号:

$ git config --global alias.ci 'commit -v'

在Windows上,如果别名有空格或命令行参数,请使用双引号:

c:dev> git config --global alias.ci "commit -v"

别名命令甚至接受函数作为参数。 看看别名。


正如其他人所说,通过编辑~/.gitconfig或使用git config --global alias.<alias> <git-command>来添加git别名的方法是在你的全局.gitconfig文件中git config --global alias.<alias> <git-command>命令

以下是我的~/.gitconfig文件的别名部分的副本:

[alias]
    st = status
    ci = commit
    co = checkout
    br = branch
    unstage = reset HEAD --
    last = log -1 HEAD

另外,如果你使用bash,我会建议通过将git-completion.bash复制到你的主目录并从你的~/.bashrc它来设置bash完成。 (我相信我从Pro Git在线书籍中了解到了这一点。)在Mac OS X上,我使用以下命令完成了此操作:

# Copy git-completion.bash to home directory
cp usr/local/git/contrib/completion/git-completion.bash ~/

# Add the following lines to ~/.bashrc
if [ -x /usr/local/git/bin/git ]; then
    source ~/.git-completion.bash
fi

注意: bash的完成不仅适用于标准的git命令,而且适用于你的git别名。

最后,要真正削减的按键,我增加了以下我的~/.bash_aliases文件,这是从来源~/.bashrc

alias gst='git status'
alias gl='git pull'
alias gp='git push'
alias gd='git diff | mate'
alias gau='git add --update'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
alias gco='git checkout'
alias gcob='git checkout -b'
alias gcot='git checkout -t'
alias gcotb='git checkout --track -b'
alias glog='git log'
alias glogp='git log --pretty=format:"%h %s" --graph'

我认为最有用的gitconfig就是这样的,我们总是在git中使用20%的函数,你可以尝试一下“g ll”,这很神奇,细节:

[user]
    name = my name
    email = me@example.com
[core]  
    editor = vi 
[alias]
    aa = add --all
    bv = branch -vv
    ba = branch -ra
    bd = branch -d
    ca = commit --amend
    cb = checkout -b
    cm = commit -a --amend -C HEAD
    ci = commit -a -v
    co = checkout
    di = diff
    ll = log --pretty=format:"%C(yellow)%h%Cred%d %Creset%s%Cblue [%cn]" --decorate --numstat
    ld = log --pretty=format:"%C(yellow)%h %C(green)%ad%Cred%d %Creset%s%Cblue [%cn]" --decorate --date=short --graph
    ls = log --pretty=format:"%C(green)%h %C(yellow)[%ad]%Cred%d %Creset%s%Cblue [%cn]" --decorate --date=relative
    mm = merge --no-ff
    st = status --short --branch
    tg = tag -a 
    pu = push --tags
    un = reset --hard HEAD  
    uh = reset --hard HEAD^
   [color]  
    diff = auto  
    status = auto  
    branch = auto 
   [branch]  
    autosetuprebase = always
链接地址: http://www.djcxy.com/p/45275.html

上一篇: How do I alias commands in git?

下一篇: How to add and commit removals made with "rm" instead of "git rm"?