美文网首页
Git 与 Bash 快捷通道

Git 与 Bash 快捷通道

作者: Wavky | 来源:发表于2017-01-24 17:56 被阅读0次

    Git模型

    A successful Git branching model
    基于git的源代码管理模型——git flow

    git-flow:一套以上面介绍的典型 Git 操作流程为蓝本创建的轻量级工具集合,将多个基本 Git 指令集成为一套 Git 流特定的操作指令集

    gitsh:指定为 Git 环境的 Shell 工具,简化 Git 指令的输入,支持系统原生命令的正常使用,支持 Tab 自动完成,并且兼容与 hub 同时工作。
    但是不支持用户 Shell 设定(~/.bashrc or bash_profile),支持~/.gitconfig指定 git alias,该环境包含数个内建快捷命令、,通过:前缀引用

    hub:默认定位至 GitHub 的 Shell 环境工具,支持快速 clone、fork、pull-request、issue 或 wiki 的展示,以及跨仓库源的快速 fetch、push、checkout 一个pull-request、或进行 cherry-pick、compare 等操作


    分支节点符 ^ ~

    ^ 旁系节点

    用于表示分支树同一层级的兄弟父节点

    ^ 表示当前commit所在当前分支的(第一个)父节点

    ^2 表示当前commit所在 第二分支 的(第一个)父级兄弟节点(与 ^ 并列同一层级)

    ~ 直系节点

    用于表示分支树中当前分支的各个直系父节点

    ~ 表示当前commit所在当前分支的(第一个)父节点

    ~2 表示当前commit所在当前分支的(第一个)祖父节点(直系节点)

    ^^^ = ^1^1^1 = ~3  当前分支的 父节点 的 父节点 的 父节点
    ^^2 = ~1^2 = ~^2   当前分支的 父节点 的 第二分支 的 父节点
    ^2                 当前节点的 第二分支 的 父节点
    

    节点符可用于 HEAD 、分支或任意一个 commit


    Git 配置全局Alias

    Git 支持通过~/.gitconfig配置全局快捷键,也可通过命令git config --global alias.<alias> <git-command>进行指定。

    [alias]
        st = status
        ci = commit
        co = checkout
        br = branch
        unstage = reset HEAD --
        last = log -1 HEAD
        loga = log --oneline --graph --decorate --all
        ck = checkout
    

    通过~/.gitconfig指定 alias,调用前仍需要键入 git alias 形式进行命令引导,可考虑在~/.bashrc中定义全局 alias 取代~/.gitconfig

    参考:


    Git 配置自动完成

    1.
    # Copy git-completion.bash to home directory
    cp usr/local/git/contrib/completion/git-completion.bash ~/
    
    # For Mac
    cp /Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash ~/
    
    2.
    # Add the following lines to ~/.bashrc
    if [ -x /usr/local/git/bin/git ]; then
        source ~/git-completion.bash
    fi
    

    Bash快捷键

    Ctrl-A 相当于HOME键,用于将光标定位到本行最前面

    Ctrl-E 相当于End键,即将光标移动到本行末尾

    Ctrl-W 用于删除当前光标左侧的一个单词

    Ctrl-U 用于删除从光标开始到行首的所有字符

    Ctrl-K 用于删除从光标处开始到结尾处的所有字符

    Ctrl-L 清屏,相当于clear命令

    Ctrl-R 进入历史命令查找状态

    ps: 使用bind -P命令可以查看所有键盘绑定。

    Keyboard Shortcuts for Bash


    Bash 配置文件

    ~/.bash_profile 系统启动、用户登录等 交互式登录 时,读取该(全局)配置
    ~/.bashrc 登陆后,新开终端窗口或执行脚本等打开 非登录shell 时,读取该文件配置新建立的shell环境

    /ect/profile 系统所有用户通用的环境设置信息
    /etc/bashrc 系统每次运行 shell 时读取的通用配置

    ~/.bash_logout 退出 shell 时执行该文件

    source <配置文件> 立即读取指定配置并生效


    iTerm2

    Mac 下取代 Terminal 的高级命令工具

    CMD-I 打开当前 Session(Tab) 配置窗口
    CMD-, 配置窗口中,Profiles 页签用于通用外观设定
    CMD-; 历史命令自动补全
    CMD-Shift-h 打开剪切板历史
    CMD-d 水平分屏
    CMD-Shift-d 垂直分屏
    CMD-[ 激活上一分屏
    CMD-] 激活下一分屏
    CMD-Opt-方向键 激活指定方向的分屏
    ⌘+←, ⌘+→, ⌘+{, ⌘+} 切换Tab

    修改页签标题

    当前绝对路径:
    echo -ne "\033]0;$PWD\007"

    当前相对路径:
    echo -ne "\033]0;{PWD/#HOME/~}\007"

    登陆用户+相对路径:
    echo -ne "\033]0;{USER}@{HOSTNAME%%.*}: {PWD/#HOME/~}\007"

    ~/.bash_profile中加入以下指令,每次新开窗口自动设置:
    export PROMPT_COMMAND='echo -ne "\033]0;{PWD/#HOME/~}\007"'

    一条命令让您的 macOS 用 Touch ID 授权 sudo!

    sudo sed -i ".bak" '2s/^/auth       sufficient     pam_tid.so\'$'\n/g' /etc/pam.d/sudo
    

    iTerm2配色方案表

    (Tomorrow Night Eighties)
    https://github.com/mbadolato/iTerm2-Color-Schemes

    Iterm2 快捷键介绍
    iterm2有什么酷功能?


    其他实用工具

    Cacher:前身为 gistbox,gist代码片段的管理工具,提供标签化代码片、模糊搜索及团队开发共享等功能,提供免费套餐,支持全平台客户端,也提供网页版

    gitsome:Python编写的开源项目,与gitsh相似的git环境,提供全过程的自动提示,并提供GitHub相关的命令。

    Cmder:Windows下替代命令行窗口的工具,支持分页、同屏多端口分割、shell命令、热键、自定义界面等,无需安装,解压即用,可导入导出设置信息。

    Git Extras:提供多组额外的git指令

    相关文章

      网友评论

          本文标题:Git 与 Bash 快捷通道

          本文链接:https://www.haomeiwen.com/subject/wkozbttx.html