前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优雅地乱玩Linux-5-GitMerge工具Meld

优雅地乱玩Linux-5-GitMerge工具Meld

作者头像
szhshp
发布2022-09-21 09:51:53
1K0
发布2022-09-21 09:51:53
举报
文章被收录于专栏:szhshp 的第四边境中转站

你真的不需要一个 Git Merge Tool?

Git 的命令行来查看 diff 有些时候也是很鸡肋的。

Windows 习惯使用 TortoiseGit 进行各种 Merge 操作,到了 Linux 也应该准备一个。

安装

一行代码解决所有问题

代码语言:javascript
复制
sudo apt-get install meld

使用

正常情况下输入meld会开启一个empty view

当然如果后面加一个repo路径的话就可以查看对应的 diff 了

Step1: 设置 Git 默认 difftool 为 meld

设置 meld 为默认 difftool

代码语言:javascript
复制
git config --global diff.tool meld

另外如果之后想换其他工具只要改一下 meld 就行

之后在运行:

代码语言:javascript
复制
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参数即可

代码语言:javascript
复制
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 命令变成了:

代码语言:javascript
复制
git difftool -y --dir

Step Extra: 简化命令

这命令太麻烦了居然还有三个参数完全记不住怎么办

ZSH: _(:з」∠)_呵呵

打开ZSH的配置文件:

代码语言:javascript
复制
gedit ~/.zshrc

然后在 alias 下面加一行:

代码语言:javascript
复制
# 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 了

系列文章

优雅地乱玩 Linux

参考文献

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 你真的不需要一个 Git Merge Tool?
  • 安装
  • 使用
    • Step1: 设置 Git 默认 difftool 为 meld
      • Step2: 取消 difftool 的验证弹框/diff without prompt
        • Step3: 使用 Meld 对整个 repo 进行 Diff/Merge
          • Step Extra: 简化命令
          • 系列文章
          • 参考文献
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档