“工欲善其事,必先利其器。” 这是古人的教诲,也是一个高效率的工程师需要遵循的法则之一。从大学开始写Java使用了JBuilder,Eclipse,后来写PHP用了Zend,写JavaScript的时候用了Aptana。这些都是非常优秀的IDE,在各自的语言和应用开发环境中给程序员们提供了极大的便利。而作为一个合格的程序员,也应该懂得选择合适的IDE针对不同的应用不同的语言进行开发。
我一直以来都是使用Eclipse,对它也产生了极大的依赖,基本开发别的语言的时候都是找到相应的插件(Eclipse的插件确实强大,zend,aptana等都可以下到插件)。 但是由于装的插件太多,严重影响eclipse的响应速度,尤其是aptana,经常会出现假死的现象,有时候要好几分钟才恢复,甚至强制结束进程。这也让我非常痛苦,直到有位仁兄向我推荐了Sublime Text,使用之处是被它专业的主题以及快速的响应速度所吸引。尤其是在跑一些简单的前台demo型开发或者测试的时候,这样轻便的编辑器非常方便,快速编辑,快速查看。而不需要等半天打开eclipse,新建一个project,等待build等繁琐耗时的操作。
在逐步的使用之后,我发现Sublime Text不仅仅是一个文本编辑器,它而是一个功能强大的IDE。用的越多就越喜欢,越觉得它神奇。正如它官网上缩写的“Sublime Text: The text editor you'll fall in love with.”。也越来越明白为什么有人把它称为“性感无比的代码编辑器!”和“神器级别的编辑器”。
Sublime Text的另一个强大之处在于它提供了非常丰富的插件,可以帮助程序员来适合大多数语言的开发。这些插件通过它自己的Package Controll(包管理)组件来安装,非常方便。一般常用的插件包括:
- Zen Coding -- 一种快速编写HTML/CSS代码的方法
- JQuery package -- jQuery的代码包,jQuery的自动不全功能给jQuery程序员带来极大的方便。
- JS Format -- JS的格式化工具
- JsMinifier -- JS的压缩工具,基于Google Closure compiler。
- Git -- 几乎支持了Git的全部功能
大家如果对这些插件比较感兴趣可以看看这篇文章。
我这篇文章主要介绍一下如何在Sublime Text中使用Git插件来创建和连接GitHub上的项目(Win 7 环境)。Git和GitHub我就不详细介绍了。简单说来,Git是目前很流行的代码管理和版本控制工具。而GitHub是基于Git的一个开放的代码管理平台,是当前最风靡的开源代码库,你几乎能从上面找到所有优秀的开源库和工具。如Node.js,jQuery,bootstrap,甚至sublime-text-2-git这个插件本身也放在了gitHub上。
1. Git安装
想要使用Git的功能,Git的安装是必须的。这里说的Git并不是GitHub,大家可以到Git的官网上去下载相应的Git安装文件。已安装GitHub的同学,机器上已经有了一个可移植的git版本,我的在“C:\Users\Owen\AppData\Local\GitHub\PortableGit_93e8418133eb85e81a81e5e19c272776524496c6”目录中。需要注意的是,这个git并不适合作为机器全局使用的Git应用,因为随着GitHub的更新,这个git的目录文件后面的那串字符会变动,从而会导致设置在path中的git运行文件不能使用。 所以建议是安装纯净的Git,并且将它的bin/cmd目录设置到path环境变量中。我的是“D:\IDE\Git\cmd”。
安装完的同学可以用 git --version 命令查看一下是否安装成功。
2. Git配置,与GitHub连接
配置全局参数
Git的配置主要包括用户名,邮箱的设置,以及生成SSH密钥公钥等。
首先运行一下的命令设置git提交代码时你自己的用户信息。
git config --global user.name "username"
git config --global user.email "username@email.com"
在Sublime Text中使用的时候还需要设置 push.default参数。使用命令行窗口的时候没有问题,在Sublime Text中用push命令的时候就提示需要设置这个参数。
push.default参数主要是设置在执行push命令是的策略,主要的选项有以下几个:
- nothing : Do not push anything
- matching : Push all matching branches (default)
- tracking : Push the current branch to whatever it is tracking
- current : Push the current branch
这里我们手动设置成默认值:
git config --global push.default matching
生成SSH key
到开始菜单,找到“Git Bash”,运行之,并执行以下命令:
$ ssh-keygen -t rsa
程序会提示您输入密钥的文件名,比如输入github,按回车即可。
然后会要求你输入一个密码,将来在使用密钥的时候需要提供这个密码。可以输入,也可以不输入直接回车(无论输入还是不输入,都会要求你确认一次)。
确认完毕后,程序将生成一对密钥存放在以下文件夹:
C:\Users\Administrator[这里替换成你的用户名]\.ssh
密钥分成两个文件,一个私钥(github_rsa)、一个公钥(github_rsa.pub)。
私钥保存在您的电脑上,公钥交项目负责人添加到服务器上。用户必须拥有与服务器公钥所配对的私钥,才能访问服务器上的代码库。
【注意!】为了项目代码的安全,请妥善保管你的私钥!因为一旦私钥外泄,将可能导致服务器上的代码被泄漏!
连接到GitHub
接下来就是将自己本机的git设置与GitHub绑定了,以便从你的机器上commit的代码能够别提交到自己的repository上。
首先当然是到https://github.com/上注册一个帐号,并登录。然后从页面的右上角找到“Account Settings”,并打开。
然后在SSH Keys中点击添加SSH Key,拷贝在公钥(github_rsa.pub)文件中的所有的文本,点击“ADD Key”,就完成了对GitHub上SSH Key公钥的添加。
这样在你的机器上,就可以使用git去连接github上的repository了。
3. Sublime Text 2 安装Git插件
Sublime Text提供了多种安装插件的方式:
- 一种是使用Package Control组件(推荐),打开install package控制台后,直接输入git就可以看到
对于package control的安装,大家可以参考这篇文章, 不过我当时安装的时候遇到了问题,"ctrl+`"一直打不开控制台,后来猜测是快捷键冲突,然后到快捷键设置中把console的快捷键 从"ctrl+`"改成了"ctrl+shift+`",然后用新快捷键打开控制台,粘贴了那段import代码,运行,重启后就可以使用install 调出安装创库了。
- 另一种是直接从git上下载代码并放到sublime text的Packages目录下,一般的路径为:
"C:\Users\<username>\AppData\Roaming\Sublime
Text 2\Packages"。
这个时候Sublime Text只是安装了git插件,但还不能使用git命令,需要在修改Sublimt Text针对git的配置文件 “Git.sublime-settings”,这个文件一般在你的账户目录下,如:
C:\Users\Owen\Git.sublime-settings, 如果没有则创建这个文件。
在这个文件中加入如下内容
"git_command": "D:/IDE/Git/cmd/git.exe"
指向的是你的git程序中的git.exe文件。
4. 在Sublime Text中使用Git插件
到这里位置,所有的本地环境的配置已经完成。接下来讲讲具体怎么使用Sublime Text 中的git插件连接GitHub。
首先在Sublime text 打开想要使用git同步的项目目录,我的是“D:\Workspace\git\SublimeGitTest”。
然后使用“Ctrl+Shift+p”打开命令窗口,输入“Git:init”来初始化git化境。 ST2会让你选择需要初始化的Git目录,选择到你的工程目录即可。
之后就可以正常的使用git命令了。
使用Git:status来查看当前的状态。
输入命令后,在弹出窗口中会显示出本地的项目更改状态。
选择更改的文件,可以直接看到更改的地方,git的diff功能:
接下来是用git:add命令添加新增加的文件。
选择“including untracked files”,将新增加的README.md添加到更改当中。
使用git:commit,来提交更改。Sublime Text会自动跳出一个文本文件,你可以在文件的最上方输入这次更改的comments,然后直接关闭这个文件,就会出发commit操作。并且将你输入的comments座位-m的参数。 这个是非常方便的,比用命令行运行commit 用-m参数添加评论的方式要方便很多,而且可以随便修改。ctrl+w关闭文件的同时,commit操作自动触发。
接下来的步骤应该是添加远程仓库(remote repository),而在Sublime Text中我始终没有找到这条命令,于是只能用命令行去执行了。
当然,之前要做的工作是在GitHub上创建一个repository,如下是我创建的一个同名的repository。
注意这里选择SSH协议。
然后在命令行切换到工程目录,输入添加remote repository的命令:
git remote add origin
git@github.com:owenXin/SublimeGitTest.git
然后回到Sublime Text,就可以使用Git:push命令来上传代码。但是奇怪的事情发生了,出现了错误。
查了查,应该是没有设置宿主(master),但是sublime git又不支持添加参数,所以还是只能回到命令行执行push命令。
顺利完成。
然后对文件进行修改,再次尝试从Sublime Text,进行push。从add到commit到push,没有任何问题,竟然push成功了。
再次到GitHub上看,就已经能看到新的文件以及通过Sublime Text push的内容了。
好了,至此Sublime Text 2已经能够顺利使用Git的功能了,尽管初始化的过程有些波折,但总算能够工作了。 希望这篇文章能对想用Sublime Text的朋友有帮助,真的很好用!!
想要了解Git插件更多的使用方法,可以参考GitHub上插件的介绍:sublime-text-2-git