V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
precisi0nux
V2EX  ›  git

你们 git 的命令都 alias 成什么了

  •  
  •   precisi0nux · 2014-05-12 21:39:38 +08:00 · 12115 次点击
    这是一个创建于 3873 天前的主题,其中的信息可能已经有所发展或是发生改变。
    每天都用很多git命令,输好长一大串,觉得有点浪费时间,想alias成短的,所以想参考下各位V友是怎么做的?谢谢大家啦。
    37 条回复    2017-12-30 15:40:15 +08:00
    582033
        1
    582033  
       2014-05-12 21:41:25 +08:00
    104 alias gf='git-ftp'
    105 alias gtst='git status'
    106 alias gtlg='git log'
    107 alias gtlg1='git log --pretty=format:"%h %an %s" --color=auto'
    108 alias gtlg2='git log --pretty=oneline'
    109 alias gtbr='git branch'
    110 alias gtco='git commit'
    111 alias gtdi='git diff'
    112 alias gv='git svn'
    gracece
        2
    gracece  
       2014-05-12 21:41:31 +08:00
    可以参考Pro git book,常用的就那么几个吧, http://git-scm.com/book/en/Git-Basics-Tips-and-Tricks

    要不然就换 on-my-zsh ,补全轻轻松松的。
    dorentus
        3
    dorentus  
       2014-05-12 21:43:50 +08:00
    $HOME/.gitconfig

    [alias]
    lg = log --graph --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative --show-signature

    就这一个,忘了从哪抄来的了。
    TankyWoo
        4
    TankyWoo  
       2014-05-12 21:56:07 +08:00   ❤️ 1
    .gitconfig:

    [alias]
    st = status
    l = log --pretty=oneline -n 20 --graph --abbrev-commit
    ll = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --
    b = branch
    ci = commit
    ca = commit -a
    pl = pull
    ps = push
    co = checkout


    zsh git:

    alias gst="git status"

    https://github.com/tankywoo/dotfiles/blob/master/.gitconfig
    ChiangDi
        6
    ChiangDi  
       2014-05-12 22:33:40 +08:00   ❤️ 2
    huyiwei
        7
    huyiwei  
       2014-05-12 22:35:35 +08:00
    顶~你个肺
    huyiwei
        8
    huyiwei  
       2014-05-12 22:36:00 +08:00
    @582033 对v
    xiaolanger1989
        9
    xiaolanger1989  
       2014-05-12 23:13:25 +08:00
    没意义,zsh随便补全就好
    bitbegin
        10
    bitbegin  
       2014-05-12 23:42:06 +08:00
    @jkeylu
    kxxoling
        11
    kxxoling  
       2014-05-13 00:08:13 +08:00 via iPad
    source tree
    sandtears
        12
    sandtears  
       2014-05-13 01:03:33 +08:00
    我都是用 zsh 的补全
    lightening
        13
    lightening  
       2014-05-13 05:06:15 +08:00
    @ChiangDi 我也用这一套 alias。
    补全还要按一下 tab,慢死了……
    liul85
        14
    liul85  
       2014-05-13 07:11:31 +08:00
    用的iterm的git插件
    gp = git push
    gco = git check out
    gl = git pull
    ......
    liul85
        15
    liul85  
       2014-05-13 07:12:30 +08:00
    写错了,是oh-my-zsh的git插件
    timothyye
        16
    timothyye  
       2014-05-13 07:32:01 +08:00 via Android
    git push gps
    git pull gpl
    git status gs
    git commit gc
    cielpy
        17
    cielpy  
       2014-05-13 09:22:52 +08:00
    @sandtears
    @xiaolanger1989 自动补全是指按tab,然后给选项那种?
    ChiangDi
        18
    ChiangDi  
       2014-05-13 09:35:18 +08:00 via Android
    @lightening 哈哈我也觉得,所以应该告诉楼上的用自动补全的同学们,按tab键很蛋疼的,赶快用6楼的!
    cielpy
        19
    cielpy  
       2014-05-13 09:39:28 +08:00
    @ChiangDi ohmyzsh不用按tab吗。。怎么设置。。我设置了好像不管用。
    precisi0nux
        20
    precisi0nux  
    OP
       2014-05-13 09:41:31 +08:00
    @ChiangDi 我一直在用oh-my-zsh,没想到官方有推荐的alias,真是out了,试用了一下感觉非常不错,谢谢啦。
    sandtears
        21
    sandtears  
       2014-05-13 11:01:13 +08:00
    @cielpy 我给你截个图吧,基本就是这个效果,甚至连参数都能补全。
    为了方便我加了个 <Tab> 符号说明

    ![]( )

    ![]( )
    skydiver
        22
    skydiver  
       2014-05-13 11:06:50 +08:00
    [alias]
    br = branch -v
    re = remote -v
    rb = rebase
    rbm = rebase master
    rbom = rebase origin/master
    cp = cherry-pick
    ci = commit
    co = checkout
    di = diff -b
    ps = push
    pl = pull
    st = status
    logp = log -p -b --no-merges --graph
    logs = log --stat -b --no-merges --graph
    diff = diff -b
    diffs = diff --stat -b
    skydiver
        23
    skydiver  
       2014-05-13 11:07:17 +08:00
    虽然有tab补全还是有必要alias的。。不矛盾
    cielpy
        24
    cielpy  
       2014-05-13 11:18:02 +08:00
    @sandtears 就是按下tab会有会有option。以为是像代码那种补全 = =!
    代码补全

    我这里按tab
    halfelf
        25
    halfelf  
       2014-05-13 11:27:05 +08:00
    lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
    toctan
        26
    toctan  
       2014-05-13 13:36:15 +08:00 via iPhone
    用了 magit 之后才发现 git 命令行是有多么的低效,难用。
    jianv3
        27
    jianv3  
       2014-05-13 15:05:25 +08:00
    @toctan 习惯就好 。
    precisi0nux
        28
    precisi0nux  
    OP
       2014-05-13 16:48:00 +08:00
    @jianv3 看了一下,但是Emacs不太会用啊,平时用Vim多一点。btw,希望别引起圣战啊= =#
    precisi0nux
        29
    precisi0nux  
    OP
       2014-05-13 16:48:35 +08:00
    @jianv3 艾特错了,不好意思。
    @toctan 见28楼。
    toctan
        30
    toctan  
       2014-05-13 18:46:47 +08:00
    @jianv3 为什么在有更好的方式前提下还要去习惯呢?

    @precisi0nux

    Vim, Sublime, Textmate 因该都有相应的 git 集成,但是几乎可以肯定的是再也没有比 magit 更强大的了。在编辑器里使用 git 的好处:

    - 减少了编辑器与窗口之间的切换
    - 极大的降低了击键次数,stage -> s, commit -> c, fetch -> f, branch -> b
    - 方便简化了一部分操作,举几个例子,比如对某个文件我想放在两个 commit 里,直接选中改动摁 s; blame, 直接在编辑器里显示那些行是哪个人什么时候哪个 commit 改的; interactive rebase, 一般就直接手动编辑,不仅容易打错而且慢,快捷键就 p -> pick, s -> squash, a -> abort

    用 Emacs 的同学强烈推荐 Magit + projectile, 可能是 Emacs 最好的俩插件了。另外,无论是新手还是老手,试试 Prelude by bbatsov

    - https://github.com/magit/magit
    - https://github.com/bbatsov/projectile
    - https://github.com/bbatsov/prelude
    lightening
        31
    lightening  
       2014-05-13 18:58:57 +08:00 via iPhone
    另外推荐下tig
    alexapollo
        32
    alexapollo  
       2014-05-13 22:47:45 +08:00
    bitbegin
        33
    bitbegin  
       2014-05-13 23:01:25 +08:00
    @alexapollo windows git下面怎么保存alias?
    alexapollo
        34
    alexapollo  
       2014-05-13 23:21:11 +08:00
    @bitbegin 用msysgit,标配
    alexapollo
        35
    alexapollo  
       2014-05-13 23:21:33 +08:00
    @bitbegin ~/.bashrc 和inputrc什么的都可以用
    Lucups
        36
    Lucups  
       2014-05-14 12:24:02 +08:00
    除了 alias ll='ls -al',没有添加其他任何 alias
    不觉得 gsts 这类的 alias 有多好,还是 git status 比较稳一点。
    之前我也设置了很多 alias,用的时候发现很容易卡壳,遂弃之不用。
    个人观点,不代表xxx,勿喷。
    feng32
        37
    feng32  
       2017-12-30 15:40:15 +08:00
    平时用这两个个就很满足了
    git st
    git lg1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5293 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 08:45 · PVG 16:45 · LAX 00:45 · JFK 03:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.