• 请不要在回答技术问题时复制粘贴 AI 生成的内容
fxjson
V2EX  ›  程序员

简化 git 命令

  •  
  •   fxjson · Mar 3, 2021 · 9318 views
    This topic created in 2071 days ago, the information mentioned may be changed or developed.

    开发中 git 几乎成了标配,git 命令使用时,必须输入 git command 方式,于是想去掉前面多余敲的字母 git, commit 即可提交,pull 即可拉代码,而不需要 git pull,所以自己就写了个脚本,用起来没发现啥问题,分享给大家,github.com/fanqingxuan/gitbin

    Supplement 1  ·  Mar 4, 2021
    楼主来了,感谢各位,linux 命令还是不够活学活用,第一反应没想到用 alias
    70 replies  •  2021-03-06 09:54:55 +08:00
    linvon
    linvon
    Mar 3, 2021❤️11
    1
    你可知道有个叫 alias 的东西
    leoleoasd
    leoleoasd
    Mar 3, 2021
    2
    你可知道有个叫 alias 的东西
    fxjson
    fxjson
    OP
    Mar 3, 2021
    3
    @linvon 你是说 git alias 吗,alias 之后,貌似 git 字符不能省略吧
    nightwitch
    nightwitch
    Mar 3, 2021
    4
    emmm,有点尴尬,这应该算 Linux 基础?
    alias commit = "git commit"就能完成你的工作。。
    learningman
    learningman
    Mar 3, 2021
    5
    楼上那个放到.bashrc,可以自动应用
    starcraft
    starcraft
    Mar 3, 2021 via Android
    6
    我只对 log history 输出类做了条 alias,因为根本记不住。其他一直手打,没什么简化的想法。
    Kasumi20
    Kasumi20
    Mar 3, 2021❤️2
    9
    $@和$*可以快速地向下传递参数

    "$@"最为常用, 不改变参数结构

    "$*"则将整个参数作为一整个参数向下传递

    不用""包裹的话, $@和$*都会将原先的空格稀释掉, 这可能会相当麻烦, 请务必使用"$@"和"$*"
    Vegetable
    Vegetable
    Mar 3, 2021
    10
    zsh...
    xarthur
    xarthur
    Mar 3, 2021 via iPhone
    11
    @starcraft 可以用 tig
    whincwu
    whincwu
    Mar 3, 2021 via Android
    12
    zsh 有个 git 插件,gc 就是提交,gp 就是推送,等等有几十个别名可以直接用
    zzw1998
    zzw1998
    Mar 4, 2021 via iPhone❤️5
    13
    你们这下把楼主整尴尬了😅
    wellhome
    wellhome
    Mar 4, 2021 via iPhone
    14
    zsh 下 gc gl 。
    breezeFP
    breezeFP
    Mar 4, 2021
    15
    oh-my-zsh 启用 git 插件
    jieliujas
    jieliujas
    Mar 4, 2021
    16
    vscode 自带 git 插件,鼠标点一下完事
    fyy21
    fyy21
    Mar 4, 2021
    17
    gst ga gd 不更简单点<手动狗头>
    cjwfuture666
    cjwfuture666
    Mar 4, 2021
    18
    建议搞个人工智能,眼神识别 换个眼神就可以提交 更方便
    chiu
    chiu
    Mar 4, 2021 via Android❤️1
    19
    可爱
    Rache1
    Rache1
    Mar 4, 2021
    20
    你可知道,Linux 下 zsh 自带的的 alias 。
    Windows 下使用 Windows Terminal + Powershell,然后在配上下面这个项目的 alias
    https://github.com/gluons/powershell-git-aliases/blob/master/src/aliases.ps1

    需要先安装 posh-git
    66Zi2nJk5Z6mdtzj
    66Zi2nJk5Z6mdtzj
    Mar 4, 2021 via iPhone
    21
    gcmt,gcmtp,gp
    JerryChen666
    JerryChen666
    Mar 4, 2021❤️3
    22
    alias cd = "rm -rf" 试试
    hongch
    hongch
    Mar 4, 2021
    24
    楼主本来已经收获了编程的喜悦,结果.....
    我给你第一个 star
    4kingRAS
    4kingRAS
    Mar 4, 2021
    25
    重复造轮子的尴尬
    hongch
    hongch
    Mar 4, 2021
    26
    另外 commit 的 elif 换成 switch case 吧。。。
    shawndev
    shawndev
    Mar 4, 2021
    27
    能记住准确命令的,去掉 git 前缀其实节约不了多少心智负担。
    比如:git log --graph --decorate --oneline --simplify-by-decoration --all
    karatsuba
    karatsuba
    Mar 4, 2021
    28
    懒是第一生产力
    collery
    collery
    Mar 4, 2021
    29
    习惯了 zsh 的 git 缩减版命令,偶尔在 windows 写代码,命令得敲完整
    muskill
    muskill
    Mar 4, 2021
    30
    楼主:别说了,别说了,好像找个地洞钻下去
    smilenceX
    smilenceX
    Mar 4, 2021
    31
    为什么不用 GUI 工具,鼠标点点多轻松
    fortunezhang
    fortunezhang
    Mar 4, 2021
    32
    @fxjson gl = git pull 之所以没有省略 g 是因为 g 开头的都是 git
    ioudan
    ioudan
    Mar 4, 2021
    33
    star 一下 以资鼓励
    weixiangzhe
    weixiangzhe
    Mar 4, 2021
    34
    zsh 开起 git 插件后, 就有好多 alias 了,还是口头支持一下楼主吧
    [url=https://sm.ms/image/CZxprBFmw5AJvDM][img]https://i.loli.net/2021/03/04/CZxprBFmw5AJvDM.png[/img][/url]
    gaolingyi
    gaolingyi
    Mar 4, 2021
    35
    我选择 gui, 但还是支持一下楼主
    lhyUnited
    lhyUnited
    Mar 4, 2021
    36
    @collery 太真实了
    chinvo
    chinvo
    Mar 4, 2021
    37
    谁不是从啥也不懂的新人开始的呢
    adamwong
    adamwong
    Mar 4, 2021
    38
    你可知道 sh 有 alias,git 也有 alias
    Junh
    Junh
    Mar 4, 2021 via iPhone
    39
    我选择 GUI
    littlewing
    littlewing
    Mar 4, 2021 via iPhone
    40
    你们怎么能这样,你看,楼主都不说话了
    Rwing
    Rwing
    Mar 4, 2021
    41
    你们怎么能这样,你看,楼主都不说话了
    fatestigma
    fatestigma
    Mar 4, 2021
    42
    安利一波 Emacs 插件 magit,纯键盘操作
    bb = git checkout <base>
    bn = git branch <new> <base>
    cc = git commit
    c-ac = git commit --all
    pp = git push
    p-fp = git push --force-with-lease
    la = git log --all -n256 --graph --decorate
    而且 stash 单行或单个 hunk 都非常方便。
    xy2401
    xy2401
    Mar 4, 2021
    43
    我对 win 上简化命令好奇。之前搜索过。没有很好的解决方案。
    lz 的我看都是 bash 应该不支持 win 上 cmd 吧
    tediorelee
    tediorelee
    Mar 4, 2021
    44
    你们都是些坏人(
    chen90902
    chen90902
    Mar 4, 2021
    45
    虽然有些尴尬,但支持下楼主哈哈哈哈哈哈
    brader
    brader
    Mar 4, 2021❤️1
    46
    @xy2401 windows 也支持 alias 哦,我一直都是这样用的,你打开 git bash,然后
    vi /etc/profile
    在最下面添加
    alias g='git'
    alias ga='git add'
    alias gb='git branch'
    alias gba='git branch -a'
    alias gcm='git commit -m'
    alias gcam='git commit -a -m'
    alias gco='git checkout'
    alias gcm='git checkout master'
    alias gd='git diff'
    alias gl='git pull'
    alias gp='git push'
    alias gst='git status'
    alias gm='git merge'
    alias gr='git remote'
    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 啦。
    xy2401
    xy2401
    Mar 4, 2021
    47
    git bash 已经不算 win 了吧。只是 win 上的 bash 环境
    我不是 限定于 git 。就是一些 cmd 一些命令好长 想简化。但是我找过 powershell 上类似的别名 作用好像好奇怪
    superrichman
    superrichman
    Mar 4, 2021 via iPhone
    48
    @xy2401 win 用 cmder,可以设置 alias
    Enying
    Enying
    Mar 4, 2021 via Android
    49
    痛心
    paoqi2048
    paoqi2048
    Mar 4, 2021❤️4
    50
    LZ:我是🤡
    brader
    brader
    Mar 4, 2021
    51
    @xy2401 看个人习惯吧,反正我喜欢用 git bash,方便多了,cmd 能干的事它都能干,而且内置支持了很多小工具,和各种协议,输出又有颜色,相对于 cmd 来说,更接近 linux,用着舒服。
    sherlockwhite
    sherlockwhite
    Mar 4, 2021
    52
    场面一度非常尴尬
    Stlin
    Stlin
    Mar 4, 2021
    53
    zsh 有个 git 插件呀 一直都在用
    otakustay
    otakustay
    Mar 4, 2021
    54
    alias pd="git push origin HEAD:refs/for/develop"
    alias pm="git push origin HEAD:refs/for/master"
    alias gs="git status"
    alias ca="git ci --amend"
    alias ga="git add"
    ewBuyVmLZMZE
    ewBuyVmLZMZE
    Mar 4, 2021
    55
    oh my zsh 的 git 插件一坨简化,巨好用。
    libook
    libook
    Mar 4, 2021
    56
    我也有过类似的需求,所以自己做了一个 ZSH 工具箱,把常用的脚本和快捷指令都放在里面改,楼主可以参考我这个:
    https://github.com/libook/IdleBox/blob/master/zshrcs/public/shortcuts-git
    oxromantic
    oxromantic
    Mar 4, 2021
    57
    摔门而出
    lakehylia
    lakehylia
    Mar 4, 2021
    58
    gg gl hf ?魔兽对战?
    Suddoo
    Suddoo
    Mar 4, 2021
    59
    尴尬
    yuxi521
    yuxi521
    Mar 4, 2021
    60
    一直用的 idea 自带的 鼠标点点点
    darksword21
    darksword21
    Mar 4, 2021 via iPhone
    61
    好单纯
    sigl0p
    sigl0p
    Mar 4, 2021
    62
    一直用乌龟 GIT 的搞不清你们在说啥
    b00tyhunt3r
    b00tyhunt3r
    Mar 4, 2021
    63
    这一课叫生产环境中需求才是永远滴神
    henryhu
    henryhu
    Mar 4, 2021
    64
    oh my zsh 插件不香吗?
    codehz
    codehz
    Mar 5, 2021 via Android
    65
    @brader 缺陷:会暴力转换路径,试试在里面运行 wsl echo /mnt
    liuy1994g
    liuy1994g
    Mar 5, 2021
    66
    oh my zsh 的
    ga gc gp gl
    zengxs
    zengxs
    Mar 5, 2021
    67
    除了 shell 自带的 alias 命令,git 命令本身也支持 alias

    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.ci commit
    git config --global alias.st status
    git config --global alias.last 'log -1 HEAD'

    这样就可以直接用 git co 替代 git checkout 这些了,而且这些配置会直接写入 .gitconfig 文件

    windows 环境下没有 bash, zsh 这些的话可以考虑这个方案
    brader
    brader
    Mar 5, 2021
    68
    @codehz 没理解什么是暴力转换路径呢,哈哈。我这样用了 2 年了,暂时没遇到什么问题和困扰
    brader
    brader
    Mar 5, 2021
    69
    @zengxs 还是我那个好使点,git 自带的,一定要 git 前缀,我那个利用 git bash 的 alias,可以类似 gp gl gco 这样用
    Lussac
    Lussac
    Mar 6, 2021
    70
    @xy2401 CMD 可以直接为每一个命令写一个 .cmd 或 .bat 文件,用 %1 ~ %9 分别接收参数, %* 接收所有参数。

    例如 echo @git commit -m %*> gcm.cmd

    之前简单写过一个这种的 https://github.com/LussacZheng/win-alias
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3723 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 184ms · UTC 05:23 · PVG 13:23 · LAX 21:23 · JFK 00:23
    ♥ Do have faith in what you're doing.