工欲善其事,必先利其器。git
做为一名开发人员,你不可能不知道git,不管你是开发本身的开源项目仍是和团队一块儿进行大规模产品的开发,git都已是源代码管理工具的首选。固然,那些hardcore developer会说,command line才是最好的工具,但并非全部的时候command line都是高效的(不服?在command line里面作个compare试试你就知道了)。小编平常用的最多的也是command line,可是总仍是会把几个好用的GUI Git客户端放在手边备着。程序员
全球开发人员交友俱乐部提供的强大工具,功能完善,使用方便。对于使用GitHub的开发人员来讲是很是便捷的工具。界面干净,用起来很是顺手,上面的这条timeline很是漂亮,也能够直接提交PR。github
惟一让我失望的是GitHub for Desktop不带三方合并工具,你必须本身手动解决冲突才能够。xcode
– 免费
– 同时支持 Windows 和 Mac:对于须要常常在不一样的操做系统间切换的开发人员来讲很是方便。
– 漂亮的界面:做为天天盯着看的工具,颜值是很是重要的
– 支持Pull Request:直接从客户端提交PR,很方便
– Timeline 支持:直接在时间线上显示每次提交的时间点和大小
– 支持git LFS:存储大文件更加节省空间和高效
– 不支持三方合并:须要借助第三方工具才行微信
SourceTree是老牌的Git GUI管理工具了,也号称是最好用的Git GUI工具。个人体验是确实强大,功能丰富,基本操做和高级操做都设计得很是流畅,适合初学者上手。markdown
这个工具颇有特点的一个功能就是支持Git Flow,你能够一键建立Git Flow的工做流。Git Flow是很是高效的团队协做模型和流程,Git的一大特点就是灵活轻量的分支,但如何在本身的团队中用好这个功能来匹配本身的研发流程是个问题。内置Git Flow让那些不太熟悉的开发人员也能够很快上手,而且将研发的业务流程固化在工具中,能够说是很是贴心的设计。运维
在 Windows 环境下,SourceTree是多语言的,可是不知道为何个人Mac版老是显示英文。eclipse
– 免费
– 功能强大:不管你是新手仍是重度用户,SourceTree 都会让你以为很顺手。对于很是重度用户,Source Tree还支持自定义脚本的执行。
– 同时支持 Windows 和 Mac 操做系统
– 同时支持 Git 和 Mercurial 两种 VCS
– 内置GitHub, BitBucket 和 Stash 的支持:直接绑定账号便可操做远程repossh
对这只小乌龟估计没有开发人员会不认识,SVN的超普遍使用也使得这个超好用的Svn客户端成了几乎每一个开发人员的桌面必备软件。小乌龟只提供Windows版本,提供中文版支持的,对于中国的开发者来讲者绝对是福音。编辑器
小乌龟的文件管理器右键菜单的操做方式对于新手来讲很是的容易上手,并且容易理解。
– 免费
– 只支持Windows操做系统:与文件管理器的良好集成
– 中文界面
– 与TortoiseSVN一脉相承的操做体验
对于使用IDE进行开发的程序员来讲,能够不离开经常使用的IDE就直接操做源代码管理系统是最好的选择,如下是我对几个常见的IDE集成的git客户端的一点体验。
苹果的移动端应用体验没得说,可是桌面软件的体验就只能呵呵了。对于XCode里面的Git客户端来讲,我只能说:够用!
这个history的列表也是够简单的了。
做为Java集成开发环境的表明,Eclipse内置了egit这个插件来提供git的集成支持。实话实说,这个插件的功能很是丰富,不管是普通的clone, commit, pull/push操做;仍是复杂一些的git flow都有支持。除了颜值差点,其它都还好。
Visual Studio 做为全宇宙最强IDE的名声已经在外,自从2013版本以来一直在针对Git的支持进行改进。若是配合社区版使用的话,也是彻底免费的。对于使用Windows做为开发环境的程序员来讲,VS里面的Git支持已经至关的完善。
直接克隆github上的repo
分支和历史记录视图
CodeLens 集成,能够直接在方法级别上查看git历史
严格来讲,Vscode不能算是IDE,只能算上代码编辑器而已,可是随着vscode上面插件的增长以及对于debugging的良好支持,vscode已经狠接近IDE的使用体验了。另外,vscode能够支持Windows, Mac和Linux操做系统,因此对于不一样环境的开发人员来讲都很是实用。
总的来讲,我最喜欢的是Source Tree 和 VS里面的Git支持,主要缘由仍是用的多,顺手。其实工具的选择更多的是我的喜爱,再难用的工具,只要基本功能知足,每天用,用惯了也不会愿意更换其余的工具。以上的只是一点我的体验,但愿对于刚入行的新程序员或者开始接触git的朋友们可以有些帮助。
相关文章:
请关注微信公众号 【devopshub】,获取更多关于DevOps研发运维一体化的信息