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

5 篇文章 0 订阅
2 篇文章 0 订阅

文章最初发表于szhshp的第三边境研究所
转载请注明

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

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

Screenshot from 2017-07-01 23-04-17.png

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操作

Screenshot from 2017-07-01 23-04-39.png

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了

Screenshot from 2017-07-01 23-07-49.png

参考文献

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值