Win7环境下Cygwin中Git可视化配置(gitk配置)

我们知道cygwin可以在windows系统中模拟linux开发环境,自然我们也就能够在其中配置git,配置git的教程很多了,网上一搜一大把,这里给一篇吧(不一定保证对),童鞋们可以去看看这篇Windows下Git的安装与配置(Cygwin),如果不对的话麻烦来给我反馈下哈,不对也不要紧再去网上找找就行,资料都很多的。

这篇博文想要说的是cygwin环境中如何进行可视化的git配置,当然git命令行工具其实也很好用,我之前也关于git命令行工具的使用总结了一篇博文,感兴趣的童鞋可以看看,常用git命令使用总结。但个人觉得有时候git命令也不是那么好用,比如在查看日志的时候,我就不喜欢用git命令,特别是直接git diff命令看差异会特别头疼,这时就想如果可以有可视化工具就好了。实际上在linux中或者windows条件下,可视化git配置都很容易能找到大把资料,但是我发现在cygwin条件下资料貌似就不多了。

这里简单来说说吧,cygwin条件下可以使用gitk工具来实现git的可视化

1、gitk可视化工具的配置

我们在配置好的git环境下输入gitk出现如下错误提示

Application initialization failed: no display name and no $DISPLAY environment variable

这时我们还是打开cygwin环境配置的exe文件,一直下一步到pacakage列表。在其它博客中我发现一句话

As of a recent Tcl/Tk update, Cygwin now uses X11 instead of GDI. In short, this means you need to install some of the Cygwin X11 packages and set them up to be able to open the GUI.

这个就是说cygwin中使用X11这个Package来实现可视化,同时这里的Tcl/Tk是我们要用的gitk工具的依赖包,在安装的时候也搜到一起装了吧。cygwin下git图形界面gitk和git gui安装 这篇参考文章中是如下表述

At the package list, select to install “xinit” and “X-start-menu-icons”; both are under the X11 category. Click next, accept all the dependencies, and install.

实际上我可以搜到xinit,但是无法搜到x-start-menu-icons,但是无所谓,搜到啥就装啥。
这里写图片描述

这两个Package直接装了之后,然后我又搜X11相关的category
这里写图片描述
然后,根据感觉安装了一些Package(实际上基本都装完了)。

然后根据提示好像就大工告成了。

然而在cygwin下(后文中Cygwin-x下的cygwin terminal)输入gitk,却出现一串提示,核心思想就是cygwin环境下缺少了一个lIbtcl8.5.dll文件,于乎又在Package列表搜tcl,然后又出来一堆Pacakge
这里写图片描述

然后我又基本上安装了大部分的tcl相关Package,但是在安装的时候一定要注意,有些Package有不同的版本,当有8.5版本的时候一丁要选8.5的。虽然装了很多,但是我觉得实际起作用的是X11和Tcl这两个Category下的相关tcl pacakge。

然后(实际上我重启了一次电脑),去开始菜单找找,惊喜的发现多了一个Cygwin-x(所以每次Package安装完成后会弹出一个是否创建桌面图标和快速启动图标的选项是,一定要选是),然后打开对应的Xwin-Server,然后在桌面右下角会出现对应启动图标,然后右键->系统工具->cygwin terminal,就启动了一个32位的cygwin客户端,cd到对应的git项目下,执行gitk,然后你会惊奇的发现gitk可视化工具就启动了。

当然如果什么都没有发生,那么不好意思,你可能在我做的工作基础之上要需要做更多的工作了。

到这里我们能够打开gitk可视化工具后,实际工作其实才完成了一半,因为讲道理,我可以看历史记录了也可以比较方便的查看版本代码差异了,但是有没有更方便的代码比较工具配置呢,使得我们点击External diff时能够弹出一个能好用的可视化代码对比工具,答案是可以的。

2、gitk的代码比对工具配置

首先我们在windows下安装一个SourceGear DiffMerge这个代码比对工具,这里要注意这个是在windows下安装的而不是cygwin环境下安装,实际上你也也可以安装你自己喜欢的代码比对工具。

然后,我们到git目录下找到.gitconfig配置文件并作如下配置

[diff]
    tool = jellybc3
[difftool]
    prompt = false
[difftool "jellybc3"]
    #use cygpath to transform cygwin path $LOCAL (something like /tmp/U5VvP1_abc) to windows path, because bc3 is a windows software
    cmd = \"/cygdrive/C/Program Files/SourceGear/Common/DiffMerge/sgdm.exe\" \"$(cygpath -w $LOCAL)\" \"$REMOTE\"
[merge]
    tool = jellybc3
[mergetool]
    prompt = false
[mergetool "jellybc3"]
    #trustExitCode = true
    cmd = \"/cygdrive/C/Program Files/SourceGear/Common/DiffMerge/sgdm.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" \"$MERGED\"

这里的jellybc3什么的无所谓,只要不和git自带的对比工具重名就好了。二cmd的配置这里解释一下,cygwin下通过 cygdrive可以打开windows下的对应应用路径,这里的路径就是我再win7系统下安装DiffMerge的路径,这样配好后,就可以在Cygwin Terminal中通过git difftool [指定文件] 查看对应文件的版本差异了。

然后在gitk可视化界面中如何配置呢?这里点击Edit > Preferences 看到有一个External diff tool的配置项,输入

/cygdrive/C/Program Files/SourceGear/Common/DiffMerge/sgdm.exe

这个就是我们windows下DiffMerge应用的目录,然后在右侧面板选择文件点击External diff就可以看到弹出了DiffMerge应用,我们就可以愉快的对比代码了。到这里整个win7下cygwin中gitk的配置才算大功告成

参考文献

1、cygwin下git图形界面gitk和git gui安装

2、使用 Gitk 跟踪 Git 项目源代码

3、 Win下Cygwin的安装

4、Windows下Git的安装与配置(Cygwin)

5、gitk的使用

6、Git下使用Beyond Compare作为比较和合并工具

7、git-difftool(1) Manual Page

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值