强大的Git客户端:SourceTree插件开发指南

原创 2016年05月30日 21:55:22

SourceTree是什么?

简单来说SourceTree是一款免费git图形化操作软件,功能很全,使用起来非常方便,相信不少开发者已经在使用这款软件。

具体还是来看看网上的介绍:

SourceTree是Windows 和Mac OS X 下免费的Git 和Hg 客户端,拥有可视化界面,容易上手操作。 同时它也是Mercurial和Subversion版本控制系统工具。 支持创建、提交、clone、push、pull 和merge等操作。

简单说一下我的感受,一开始使用git的时候,基本上都是直接敲命令的,(没有好的软件,只能自我安慰使用命令行对学习git更有利,苦逼的程序猿~),也不知道有什么GUI软件比较好用,直到后来知道了SourceTree,使用上一段时间就彻底离不开它了,功能强大,界面漂亮,用起来顺手,跨平台,还持续更新,最重要的是免费,你没看错,是免费(重要事情说两遍~就可以了),有中文版本(虽然我不喜欢用中文版,目前还是用的英文版,原因是中文版看不出来对应的git命令是什么,个人建议大家也用英文版)。

郑重声明一下,这篇文章不是软文。(如果SourceTree的作者看到这篇文章觉得不错的话…,可以和我联系,我这里可以接收美金,怎么联系到我?可以点击查看我的个人信息,微信,主页,邮箱都可以,好吧,我承认我想多了)。

今天所说的插件开发,实际上是SourceTree一个叫Custom Action的功能,SourceTree从v1.3开始就增加了这个功能,这个功能可以让我们可以添加自定义的扩展动作,也就是我们经常说的插件,下面就用实际例子来让大家看看在实际中可以做些什么。

开始动手

加入Open In Sublime Text 2功能

举第一个栗子,我们可以使用Sublime Text 2打开当前选中的文件。

以下下步骤以英文版为准,中文版的请自行翻译…

Custom Actions 页面点击Add添加一个名为 Open In Sublime Text 2 的动作,右边的编辑框可以添加快捷键,接着拷贝下面代码到 Script to run 编辑框中

/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl

Parameters添加 $FILE, 最后点击OK保存。
添加好的界面是这样子的:

SourceTree

至此,我们已经成功实现了这个功能。使用的时候只要选中要打开的文件,点击右键 Custom Actions > Open In Sublime Text 2 即可。

SourceTree

加入Open Workspace和Open Xcodeproj功能

接下来,我们再来做一个稍微复杂点的栗子。

每次打开SourceTree的仓库列表或者进入仓库的时候,如果我们要打开这个仓库的项目文件,还得先去到这个项目的文件夹找到后再打开,如果有一个功能可以直接点击一个按钮就可以自动找到并打开这个仓库里面所有的xcworkspace或者xcodeproj文件就好了,值得庆幸的事,我们可以做到这样的插件,具体做法如下:

  1. 新建一个自定义动作分别填入下面内容

    • 打开xcworkspace文件
字段名 内容
Menu Caption Open Workspace
Script to run /bin/bash
Parameters /Users/.../open_xcode_project.sh $REPO xcworkspace
  1. 再新建建一个自定义动作分别填入下面内容

    • 打开xcodeproj文件
字段名 内容
Menu Caption Open Xcodeproj
Script to run /bin/bash
Parameters /Users/.../open_xcode_project.sh $REPO xcodeproj

3. 新建一个名为open_xcode_project.sh文件,路径和上面的路径一致:/Users/.../open_xcode_project.sh,路径是你自己定的,不要和我一样也加...,内容如下:

#仓库路径
REPO_PATH=$1
#文件的类型
OPEN_TYPE=$2

#判断打开项目文件的类型,根据类型筛选出项目文件路径
if [ $OPEN_TYPE = "xcodeproj" ]; then
    LIST=`find $REPO_PATH -name "*.xcodeproj" | grep -v "Pods.xcodeproj"`
else
    LIST=`find $REPO_PATH -name "*.xcworkspace" | grep -v ".xcodeproj/project.xcworkspace"`
fi

for ITEM in $LIST
do
#打开项目文件
open $ITEM

done

上面用到的 open_xcode_project.sh 文件我已经上传到github,传送门:SourceTree Custom Action

完成上面这几步后,在仓库右键就可以看到新添加的两个功能,如下图,点击对应的功能程序就会自动打开该仓库下的项目文件,不得不说太方便了!满满的成就感有没有!

SourceTree

不难看出,这个插件主要是通过shell脚本来完成,把仓库的路径和打开文件的类型传给脚本来进行处理,脚本过滤出目标的文件路径并依此使用默认的软件(也就是Xcode)来打开项目文件。

最后

这篇文章只是抛砖引玉,你可以做到更多更棒的功能,只要你对shell命令足够熟悉,当然,想法最重要,如果有好的想法欢迎你共享出来,只有分享才能相互进步。

另外,我建了一个SourceTree的Custom Action github仓库:SourceTree Custom Action,希望有志之士(说的就是你)一起来维护,来给我pull request吧。希望看到不久的将来我的SourceTree的Custom Action菜单满满的都是各种各样的功能。

The End.

版权声明:本文为博主原创文章,未经允许不得转载,微信公众号:mellong, 查看最新内容,欢迎访问www.devlong.com。

SourceTree 配置文件

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • icbm
  • icbm
  • 2017年03月02日 13:46
  • 1164

SourceTree+Git简单使用(Windows)

导读:本人过去Git的可视化工具用的是TortoiseGit,虽然Android Studio也能进行版本管理,但是用下来,感觉SoureTree这款工具是最舒服的(免费的),下面就给大家介绍下我的使...
  • u012792686
  • u012792686
  • 2017年03月19日 13:56
  • 5719

自定义tree

 DefaultTreeCellRenderer
  • dssd3
  • dssd3
  • 2011年01月24日 22:56
  • 269

解析自己的域名到CSDN博客、CSDN博客自定义域名

本文介绍怎么把自己的购买的域名(比如:btlas.org)跳转到CSDN博客。只需要三步就可以完成。 主要思路是:自己的域名解析到一个网页,在这个网页中写js脚本再跳转到csdn博客地址。其中的一个...
  • btlas
  • btlas
  • 2016年06月19日 15:44
  • 2742

最简单最高效的Git教程---SourceTree

写在前面(提示:本文适合Git新手学习,大神勿喷): git是一种分布式管理代码工具,相信这个大家都知道,不做过多解释,但是对于刚接触git,或者英语不好的人,怎么使用就是个大难题,这篇文章我会介绍一...
  • Xxxxx_yk
  • Xxxxx_yk
  • 2016年10月22日 00:13
  • 348

GitHub和SourceTree入门教程

http://blog.csdn.net/collonn/article/details/39259227 -->本教程适用于主流的开源网站github和bitbucket,个人认为so...
  • jeffasd
  • jeffasd
  • 2016年04月27日 13:35
  • 496

sbt使用自定义仓库

1.在.sbt目录下建立repositories文件,添加内容[repositories] local my-maven-proxy-releases: http://repo.example.com...
  • daaoke
  • daaoke
  • 2015年11月16日 11:50
  • 2032

Source Tree 簡介

Table of Contents 1. 什麼是 Source Tree ? 1.1. 下載1.2. SourceTree 介面簡介1.3. git 指令/狀態圖 2. Source...
  • binglan520
  • binglan520
  • 2016年03月14日 11:13
  • 135

Mac 下使用sourcetree操作git教程

SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克隆、提交、push、pu...
  • qq754406613
  • qq754406613
  • 2015年02月08日 14:31
  • 7953

Git与SourceTree使用详细指南

http://blog.csdn.net/risky78125/article/details/50850545 http://blog.csdn.net/risky78125/ar...
  • u011904605
  • u011904605
  • 2016年07月16日 23:07
  • 8048
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:强大的Git客户端:SourceTree插件开发指南
举报原因:
原因补充:

(最多只允许输入30个字)