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命令可以查看所有键盘绑定。
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;HOME/~}\007"
登陆用户+相对路径:
echo -ne "\033]0;{HOSTNAME%%.*}: HOME/~}\007"
在~/.bash_profile
中加入以下指令,每次新开窗口自动设置:
export PROMPT_COMMAND='echo -ne "\033]0;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
其他实用工具
Cacher:前身为 gistbox,gist代码片段的管理工具,提供标签化代码片、模糊搜索及团队开发共享等功能,提供免费套餐,支持全平台客户端,也提供网页版。
gitsome:Python编写的开源项目,与gitsh相似的git环境,提供全过程的自动提示,并提供GitHub相关的命令。
Cmder:Windows下替代命令行窗口的工具,支持分页、同屏多端口分割、shell命令、热键、自定义界面等,无需安装,解压即用,可导入导出设置信息。
Git Extras:提供多组额外的git指令
网友评论