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
    评论
gdb-20010428-3[1].tar.bz2 和 gdb-20020411-1[1].tar.bz2 图形界面 GDB 使用指南 -SeaSon from HIT 1.安装:cygwin 下面安装就行了,注意我测试的 gdb-20020411-1和 gdb-20010428-3 都是 图形界面,而版本 gdb-20041228-3 我发现是命令行的,所以推荐前两个版本,毕竟图形界 面方便很多,如果你热衷于新的版本,那看到这里你就可以停止了:)下面以 ns-allinone-2.27 为例说明 注:现在直接从网上安装的版本好像没有那么老的版本,我是从网上找到一个本地安装版本 “ Cygwin0528”(可以用 baidu 或者 google 搜一下),然后利用它安装 gdb-20020411-1, 注意你只需要安装这一个就行了,其他的所有都选择为 keep(已经安装的)或者 skip(未 安装的),否则会出现问题的,一定要切记这点儿。 2.在代码里面添加调试信息:修改 Makefile(没有任何后缀的)将里面 CCOPT = #如果是ns-allinone-2.28,这里是 CCOPT = -O2 STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 改变为: CCOPT = -g #如果是 ns-allinone-2.28,这里修改为 CCOPT = -O2 -g STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 修改的东西是粉红色字体所示 3.然后重新编译 注意:以下步骤一个都不能少 Make clean Make depend Make 4.调试过程如下 进入工作目录:推荐 ns-2.27 操作:打开 xwindows 之后, a.输入 cd ns-allinone-2.27/ns-2.27(必须) b.输入gdb ns 进入gdb 工作界面,如果不是图形界面的版本可能就直接在 xwindows进入 Gdb 调试过程,这样的话具体命令参见《NS 仿真软件》精华区,不要问我!!!!!!!!!! 如果按照我的要求安装的图形界面 gdb,出现如下图形界面,如下所示: c.在左上角红色标记的地方输入你要调适的程序。如:mflood.cc 设置断点,注意只有最左边有“-”符号(如下图 1 所示)的可以设置断点,将鼠标放 在行号上就会出现变成一个圆形的符号,单击即设了一个断点,原来的“-”地方变成了一 个红色的方框,如下图标号 2 所示。 然后输入 Ctrl+N进入命令行窗口,如下图所示: 进入代码所在的目录 ns-2.27/mytcl 因为当前的工作目录在 ns-2.27,所以我直接输入 cd mytcl 就行了 输入命令 r mytcl.tcl 就进入调试,(调试不是在 console 窗口,而是在一下窗口)具 体调试根 vc差不多,呵呵,不用我罗嗦了,一些常用的如下图所示,其他的你看英文就知 道意思了。祝好运
Cygwin环境下安装和配置共享内存需要以下步骤: 1. 安装 Cygwin 的 ipc-utils 包,在 Cygwin 安装程序选择 ipc-utils 并安装。 2. 在 Cygwin 终端输入以下命令安装 Cygwin 的 ipc-daemon: ``` $ /usr/bin/cygrunsrv -I ipc-daemon -p /usr/sbin/ipc-daemon -d "CYGWIN ipc-daemon" -a "-D" ``` 3. 启动 Cygwin 的 ipc-daemon 服务: ``` $ /usr/bin/cygrunsrv -S ipc-daemon ``` 4. 确认 ipc-daemon 是否在运行: ``` $ /usr/bin/cygrunsrv -Q ipc-daemon ``` 如果输出如下信息,说明 ipc-daemon 已经在运行: ``` Service name : ipc-daemon Display name : CYGWIN ipc-daemon Current State : Running Controls Accepted : Stop ``` 5. 在 Cygwin 终端输入以下命令设置共享内存大小: ``` $ export CYGWIN="server shm" $ export CYGWIN_SHARED_MEM_SIZE=2048M ``` 这里设置了共享内存的大小为 2048MB。 6. 确认共享内存是否已经启用: ``` $ ipcs -m ``` 如果输出类似以下信息,说明共享内存已经启用: ``` ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x10000001 0 USER 600 2147483648 0 ``` 注意:如果没有看到任何输出,说明共享内存没有启用。 7. 使用共享内存: 在程序使用共享内存时,需要包含 sys/shm.h 头文件,并使用以下函数创建共享内存: ``` int shmget(key_t key, size_t size, int shmflg); ``` 其,key 为共享内存的键值,size 为共享内存的大小,shmflg 为共享内存的权限标志。 创建共享内存后,可以使用以下函数将共享内存映射到进程的地址空间: ``` void *shmat(int shmid, const void *shmaddr, int shmflg); ``` 其,shmid 为共享内存的标识符,shmaddr 为指向共享内存的指针,shmflg 为共享内存的权限标志。 以上就是在 Cygwin 环境下安装和配置共享内存的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值