git 环境搭建进阶
到我博客的新地址享受更好地阅读体验:http://www.dozer.cc/2013/05/git-extras/
各种 git 工具
最新在 mac 和 windows 下用了各种 git 工具;有 shell 的,也有 GUI 的,并尝试着使用它们来进行工作。
经过一番实践后,给大家推荐一套我最喜欢的 git 工具。
另外也给大家推荐一些基本配置,可以让你的工作效率大大提升。
公共配置
先给大家看一下我 .gitconfig 文件里的一些配置(mac & windows 都适用):
[color] #开启着色功能 status = auto diff = auto branch = auto interactive = auto [merge] #默认 merge 都加上 --no-ff ff = false [alias] #别名 st = status ci = "commit -m" br = branch co = checkout cia = "commit -am" df = diff dt = difftool mg = merge mt = mergetool ll = "log --oneline"
开启颜色后会让你的 shell 非常漂亮:
最后一块是 git 的别名功能,你可以直接在配置文件里写,也可以用命令下,具体写法网上搜一下就有了。
之前我认为是 GUI 更快,因为每次打一大堆命令,实在是太烦了。用了别名后,你的效率会大大提升。
mac os
mac 上的 git 就不用怎么纠结了,直接是官方的标准 git 即可。
但是有两个问题:
- shell 颜色不够好看,命令不友好(就算开启了上面说的自动着色后还是不够漂亮,不友好指的是不能显示分支名);
- gitk 看分支图很乱。
oh my zsh
zsh 是一个替代 mac shell 的东西,在 shell 上拓展了很多东西。
oh my zsh 是一个开元框架可以让你方便地配置 zsh。
下载地址:https://github.com/robbyrussell/oh-my-zsh
一行命令就可以安装了,上面的教程非常完成,配置完成后你的 bash 会变的非常漂亮。
另外它还支持很多主题, 尝试着替换一下?会让你有更意外的收获:
https://github.com/robbyrussell/oh-my-zsh/wiki/themes
至此,shell 的问题解决了。对了,别忘了尝试一下 zsh 的 tab auto complete,会有惊喜哦!
效果如下:
git-extras
git-extras 包含了很多扩展的 git 命令,有的人喜欢,有的人不喜欢,各取所好吧。
项目地址:https://github.com/visionmedia/git-extras
mac 下更建议从 brew 中安装。
SourceTree
SourceTree 支持 windows 平台和 mac 平台,它展示出来的分支图非常漂亮!
gitk 下的分支图,同一个分支一直会乱窜…
但是在 SourceTree 下却非常清楚!
仔细看了以后发现,SourceTree 的分支图能保证一个分支一直线,所以看起来非常清晰。
windows
windows 下的 git 选择太多了:
- TortoiseGit :https://code.google.com/p/tortoisegit/
- SourceTree:http://sourcetreeapp.com/
- cygwin + git:http://www.cygwin.com/
- msysgit:http://msysgit.github.io/
- GitHub for Windows:http://windows.github.com/
我把它们都用了一遍了,所以给大家比较一下:
- TortoiseGit :免费图形化,适合新手,但是你将无法深入理解 git;另外它的分支图太烂了!
- SourceTree:免费图形化工具,很好用,但是还是推荐用命令行,它适合用来看分支图。
- cygwin + git:在 windows 上模拟 linux 环境,支持很多插件,很棒!
- msysgit:搜索 git 默认会出来这个,普及率极高,不好好配置的话非常难用。
- GitHub for Windows:对 msysgit 强化了一下,很好用。
它们各有特色,如果结合起来用就会非常方便。
SourceTree 适合看分支图
windows 下也有 SoureceTree,体验一样棒!
Github for Windows
如果你希望打开一个 shell ,可以操作 git ,也可以同时调用 windows 的命令,那这个会很适合你。
但是这个不是 Github 的吗? 其实我用的是 Github for Windows 中的 Github Shell 功能。
它的 Shell 可以让你自由选择,你可以选择 cmd,也可以选择 Git Bash,最强大的是选择 PowerShell。
选择了 PowerShell 后,你的 Shell 上会显示当前分支、各种状态,而且 auto complete 也做的很好。
另外还可以同时操作 windows 里的东西哦~
cygwin
最后强烈推荐的是 cygwin,让你在 windows 下有很棒的 linux(mac) 体验。
最最最强大的是,上面在 mac 篇中提到的 git-extras 和 zsh 它都可以支持!
安装 zsh 很简单,运行 cygwin.exe 然后到安装包的步骤,搜索 zsh 即可。
最后还需要休要 cygwin 默认的 Shell。
把桌面上 cygwin termial 的路径改掉即可:
#原始 C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico - #改成 C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico /bin/zsh --login
安装 git-extras 也很简单,按照官网的教程直接执行一条命令即可:
(cd /tmp && git clone --depth 1 https://github.com/visionmedia/git-extras.git && cd git-extras && sudo make install)
如果无法识别 make 命令,打开 cygwin.exe 去搜索 make 并安装。
对了,有没有觉得复制黏贴很不爽?还有字体也不顺?还有… 怎么没有半透明?
这些 cygwin 都支持,在标题栏右击,找到配置选项,里面有很多自定义的配置。
最后效果是不是和 mac 上很像?