优雅地乱玩Linux-5-GitMerge工具Meld
你真的不需要一个 Git Merge Tool?
Git 的命令行来查看 diff 有些时候也是很鸡肋的。
Windows 习惯使用 TortoiseGit 进行各种 Merge 操作,到了 Linux 也应该准备一个。
安装
一行代码解决所有问题
sudo apt-get install meld
使用
正常情况下输入meld
会开启一个empty view
当然如果后面加一个repo
路径的话就可以查看对应的 diff 了
Step1: 设置 Git 默认 difftool 为 meld
设置 meld 为默认 difftool
git config --global diff.tool meld
另外如果之后想换其他工具只要改一下 meld 就行
之后在运行:
git difftool
就会对当前 repo 进行 diff 查看,当然 meld 可以同时进行 merge 操作
Step2: 取消 difftool 的验证弹框/diff without prompt
查看所有
difftool
参数的命令 man git-difftool OPTIONS -y, --no-prompt Do not prompt before launching a diff tool.
简单易懂,后面加个-y
参数即可
git difftool -y
Step3: 使用 Meld 对整个 repo 进行 Diff/Merge
但是依然很麻烦因为对应多个文件 meld 会依次弹出来,于是我又搜一下如何一次性 diff 整个文件夹
答案也很简单
Starting with git v1.7.11, you can use git difftool --dir-diff to perform a directory diff. The answer that follows applies to git installations older than v1.7.11.
于是最终 diff 命令变成了:
git difftool -y --dir
Step Extra: 简化命令
这命令太麻烦了居然还有三个参数完全记不住怎么办
ZSH: _(:з」∠)_呵呵
打开ZSH
的配置文件:
gedit ~/.zshrc
然后在 alias 下面加一行:
# Example aliases
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias jkl='jekyll s'
alias subl='LD_PRELOAD=./libsublime-imfix.so subl'
alias gdiff="git difftool -y --dir"
当然这里的别名可以随便换,修改后保存重开 Terminal 就可以使用 gdiff 对当前 repo 进行 diff 和 merge 了
系列文章
参考文献
- https://stackoverflow.com/questions/4955752/set-git-diff-to-a-default-value
- https://stackoverflow.com/questions/34119866/setting-up-and-using-meld-as-your-git-difftool-and-mergetool
- https://stackoverflow.com/questions/7897517/why-does-git-difftool-not-open-the-tool-directly
- https://stackoverflow.com/questions/1220309/git-difftool-open-all-diff-files-immediately-not-in-serial
相关文章
- 编译LINUX:最佳工具推荐(linux编译工具)
- 使用Linux抓取网页内容的简单技巧(linux抓取网页内容)
- Linux下如何优雅地删除文件(linux中删除文件)
- 查看Linux系统IO:实用技巧及工具(linux查看系统io)
- 提升Linux系统性能的技巧与工具(linux系统性能工具)
- 分析Linux系统:以工具为辅助(linux系统分析工具)
- 情况Linux查看IO使用情况:把握系统性能(linux查看io使用)
- Linux中妙用阅读代码工具分析程序(linux阅读代码工具)
- 极致体验:Linux下的虚拟机之旅(linux下的虚拟机)
- 预防Linux端口攻击的防御措施(linux端口攻击)
- Linux系统查看硬件信息的有效方案(linux查看硬件信息)
- Linux登录:轻松掌握登录技能(linux登录工具)
- 极大提高效率:利用Linux上的镜像工具(网站镜像工具linux)
- 开启我的Linux世界(我的世界linux)
- 利用U盘制作完美Linux系统(u盘linux制作工具)
- Linux下的批量运维自动化之旅(linux批量运维工具)
- Linux下反汇编工具及使用方法(linux反汇编软件)
- Linux的发展历程:增强自由度(linux的分支)
- 中深入探索Linux编程之旅(在linux编程)
- PHP应该在哪个Linux操作系统上运行?(php用什么linux)
- Linux下常用的FTP工具(linux常用ftp)
- 深入探索 Linux 行为分析工具,系统监控再也不困难!(linux行为分析工具)
- 脚本使用Linux启动Shell脚本的步骤(linux启动shell)
- 利用Linux快速克隆系统硬盘(linux克隆系统)
- 探索Linux路由追踪命令之旅(linux路由追踪命令)
- Linux系统入侵攻防之道(linux入侵工具)
- 探索Linux中的who命令(linux命令who)
- 易学实用!详解Linux下Mongodb的安装方法(linux安装mongodb)
- 在Linux系统上如何安装NS2网络仿真工具?(ns2安装linux)
- LINUX主机名:简单有效的身份标识工具(linux主机名有什么用)
- Linux进程间通信:穿越跨界的数据交流(linux进程之间通信)
- 同步Linux服务器时间:精准掌控时空(同步服务器linux时间)
- 为知笔记与Linux:用最佳工具管理你的知识(为知笔记linux)