一、GitHub for windows
GitHub for windows图像界面功能简单,容易上手。
1、登录后Github for Windows会帮你自动创建SSH Key。
2、commit之前需要在tools->options中设置用户名和邮箱。
3、Publish将修改上传到GitHub,之后这个按键变成sync。
二、TortoiseGit
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://oldratlee.com/post/2012-10-25/git-check-diff-between-tag-or-branch-using-gui-diff
使用TortoiseGit可以解决这个问题。
其实【TortoiseGit的版本Diff窗口】的右边按钮选择,除了选分支或是标签,还可以选择指定版本,很方便。
我用的是Beyond Compare来查看Diff,可以配置成Beyond Compare查看Diff时忽略空白、Java注释之类的不重要的修改,这样可以聚焦到对运行有影响的代码修改上。
这个功能Google了几天没有找到解决方法,最后是把TortoiseGit的菜单项一个一个地过,给找到了。
相信我能想到的需求,TortoiseGit一定是早想到解决了。
下面说一下引发这个问题的的问题。
和2个版本并行的开发模式有关,参见我的博文: Dubbo的2个版本并行的开发模式
采用2个版本并行开发后,当新功能版本要成为线上的GA版本时,会想和当前GA比较一下,
其实查看两个分支或是标签的Diff,Git命令行就可以做到:
1
|
git
diff
arg1 arg2
|
上面的给2个参数,可以是要比较的是分支或是标签名。 Git会把Diff都找出来,在less命令中查看。
这个命令行,功能没有问题。一个不方便的地方是less命令会把所有的差异都列出来,比如空白、注释等等。
GUI Diff工具可以配置忽略不重要的异常(比如我用的Beyond Compare),省去不少不必要的时间浪费。
另,GUI的显示会更直观和方便操作,这正是Diff查看需要特征。比如分左右两栏对比查看(VimDiff也可以)、把变动的内容用不同的颜色标识出来 等等。
关于的GUI和CLI的比较可以看一下我另一篇博文【译】GUI & CLI Principles。
另一个类似的解决解决方法是使用git difftool
命令,相对于git diff
是通过配置的GUI来查看Diff。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[
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
/beyond
compare 3
/bcomp
.exe\" \"$(cygpath -w $LOCAL)\" \"$REMOTE\"
[merge]
tool = jellybc3
[mergetool]
prompt =
false
[mergetool
"jellybc3"
]
#trustExitCode = true
cmd = \"
/cygdrive/c/program
files
/beyond
compare 3
/bcomp
.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" \"$MERGED\"
|
注意:
参考Git下使用Beyond Compare作为比较和合并工具
顺便也说一下SVN的做法,使用SVN时我也会要这么做。
# 实际上是SVN这么做了,让我在使用Git时也想到这么做。
Thanks for reading, and I hope it can help you :-)