Mac专用免费的Git客户端:SourceTree for Mac

立即下载

简介
SourceTree是一款免费的 Mac Git客户端工具,同时也是Mercurial和Subversion版本控制系统工具
详细介绍

SourceTree是一款免费的 Mac Git客户端工具,同时也是Mercurial和Subversion版本控制系统工具

北京时间3月5日消息,由于苹果将改变Mac应用商店规则,要求所有应用程序必须在沙箱内运行,对于SourceTree而言,苹果应用商店规则改变使得SourceTree进退两难,因为这一举措将会破坏SourceTree重要功能,迫使SourceTree进行功能性删除,损坏SourceTree程序可用性的同时也会影响到广大用户的利益。因此SourceTree作了个“艰难”的决定,宣布从2012年3月1日开始,SourceTree不再提供更新到苹果应用商店。

对SourceTree影响

苹果强制Mac应用商店里所有程序使用沙箱,使得SourceTree应用于虚拟控制的功能将会减少或者无法访问文件、网络或其他资源,除非苹果专门推出操作系统,或者动态授予权限(如果这可能的话),否则将会影响到SourceTree功能,如打开文件系统对话框中的特权操作等。

根据其官方博客显示,具体对SourceTree影响如下:

  • 文件访问问题:在沙箱中,只能自动访问他们规划好的存储器,这只是一个单一的应用,类似用户根目录、偏好文件夹的本地版本。而SourceTree功能之一就是提供输入和直接复制、粘贴到文本框路径的功能,同时也能让用户获得合理的默认值,使用户的操作更简便,但是强制使用沙箱后会导致用户不能再像以前那样简便输入路径,使得SourceTree用户访问文件出现问题。
  • 重新启动后文件位置丢失:SourceTree一个关键功能就是可以在一个地方跟踪你所有资料库,并可以随时显示状态,但是在沙盘技术中,当你第一次添加库而后重启电脑,应用程序的文件位置会丢失。如果要想解决这个问题,苹果得开放库的完整文件和位置,这显然是不可能的。
  • 共享工具无法配置:当用户使用SourceTree时,SSH密钥和代理配置都是自动获得,所以通过SSH访问远程数据库显得很高效。然而沙盘技术将会使标准的SSH无法配置,所有的SSH访问都将失败,除非能在存储器中将复制的配置和SSH密钥单独加到代理中,但是这对SourceTree来说是棘手以及不好解决的,虽然短期内是可以解决此问题,但是使得用户体验很差,因为SourceTree只有在运行的时候才能访问存储器里的用户主目录,这一限制使得共享工具无法配置。
  • 禁止与终端等集成:沙盒里的应用程序是不允许发送苹果事件,这使得SourceTree启动终端和iTerm无法导航到项目文件夹中,意味着SourceTree将失去这一项非常有用的功能。虽然有人反应苹果这方面问题,要求他们考虑用户和苹果应用程序之间的信息反馈机制,然而到现在这依然是关闭的,就目前而言,这个问题是无法得到解决。

除此之外,也还有其他方面的问题但就不一一罗列了。

艰难的抉择

从根本上来说,苹果强制要求所有应用程序使用沙盒技术,是一个不错的主意,因为这可以增加用户的安全体验。但同时也会使得某些应用程序执行复杂的工具行为时受到限制,从而导致功能性缺失,因此让用户的体验非常糟糕。

最后SourceTree指出,当做出退出苹果应用商店这一艰难决定痛苦了几个月,但为了用户有更好的应用体验,SourceTree只能退出。同时SourceTree也解释到,SourceTree很乐意与苹果通过协商解决此问题,但是就目前而言只能停止更新退出应用商店。

来自Mac App Store官方介绍


SourceTree is the fast and easy way to work with Git and Mercurial.

Easily utilise both distributed version control systems from one application. Work with your GitHub, Bitbucket, and Kiln accounts without leaving the application. Also works with Subversion servers too!

Atlassian has acquired SourceTree, and it is now free for a limited time!

v3.0.1版本新功能


Version 3.0.1:

Note: Beta release.

Note: Now requires OS X 10.13 or later.

Fixed:
  • A few missed occurrences of VSTS -> Azure DevOps
  • Release notes detection for alpha/beta after CI automation

Screenshots
评论列表