大家日常工作中,Git的管理工具是用什么?Git命令行、SourceTree、IDE集成版、Tower还是什么?在Mac,以上的工具我都用过,以下就分别来回顾一下。
用过的Git工具
终端
git命令行操作是最麻烦的,但是同时功能也是最强大的,基本上基于它可以自己写一个工具。日常开发全都使用命令行不一定会是最佳的,但是偶尔于做点什么特殊事情还是非常有效的。
Tower/SourceTree
以下两个软件号称是Mac平台比较好用的GUI工具,日常看看变更,提交代码问题还是不大的。对于我而言,使用上有几个障碍:
- 全点击操作,天花板低,有些重复流程操作起来还是略显繁琐
- 不常用的功能隐藏太深和命令行使用上太割裂了,有时候为了搜索定位某个提交,需要各种跳转
LazyGit使用
终端下仿UI的工作区
- 输入
lazygit进入管理 - 数字切换不同的工作区
j+k,上下移动分支,{+}切换tab栏q退出回去终端,esc回到上一个页面,enter进入下一级操作x弹出帮助界面,这个是最常用的
更新仓库
p更新仓库P推送到仓库
工作区操作
- 按
1进入工作区管理 空格用于将文件加入和移动工作区,a用于对所有文件加入/移出c提交代码d重置当前文件,D重置所有文件s暂存所有文件,S暂存选中文件
分支管理
- 按
3进入分支管理
空格切换分支n用于创建分支d用于删除分支
提交记录
- 按
4进入 d删除提交,g重置到指定提交
LazyGit安装
介绍
这是一个开源项目:github.com/jesseduffie…
代码是go写的,有兴趣可以去看看实现。
安装指令
Mac:
brew install lazygit
Ubuntu:
sudo add-apt-repository ppa:lazygit-team/release
sudo apt-get update
sudo apt-get install lazygit