搞定设计版本控制!一份超详细的 Sketch git 插件使用指南

一份超详细的 Sketch git 插件使用指南

 

袁晨皓:对每一个设计师来说,如何管理文件版本是令人很头痛的。本次教程使用Sketch的 Git 插件帮助你记录每一次的更改、处理好混乱的版本迭代,教程超详细,建议收藏!

设计师的版本控制:Sketch的 Git 插件使用案例

温馨提示:

本次案例的项目已经公开啦,http://cloud.yuanchenhao.com:30000/stevenyuan/sketch Git . Git,各位可以前往我的自建 Gitlab查看每一步的对比,不过服务器建在我香港学校的寝室里,访问速度可能较为一般,还请海涵。如果有想要实践的有问题可以加我微信804933158一起探讨~感谢!

最近自己一直在进行UI设计的学习,主要使用的软件是Sketch,很多时候在参考前辈们的意见后会进行多个版本的更改和尝试,因此不仅会出现多个版本的.sketch文件同时也会导出很多不同版本的预览图,这就导致后期整理的时候其实比较杂乱,有这么几个问题:

  1. 他人的评价很难和对应版本的文件整合起来(光塞入sketch文件里在跨版本选择的时候就需要打开每个文件比较麻烦)
  2. 同时保存多个版本的.sketch文件其实也是相对来说占空间的。

虽然Sketch其实已经有内建的不错的版本控制,但在是用上来说也只能个人独立使用,会缺乏团队协作性。

因此综上就决定开始尝试使用 Git 来进行设计文件的版本控制,因为专业的一半是写代码(c++,c#之类)所以对 Git 会比较熟悉,可以进行简单的纯命令行的进行版本控制,但可能对于很多设计师来说还是相对容易出错的,因此需要图形化的插件帮助,为此我专门去寻找了适用于sketch的 Git 插件。最终效果如下:

1464671489-8071-1zz20160302

1. 什么是it

> Git 是目前世界上最先进的分布式版本控制系统(没有之一)。

Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

2. Git 托管服务的选择

Git 的版本控制可以在本地进行,但是推送到远程服务器(局域网内建也可)之后其实有更优化的版本视觉对比。现有的主要的 Git 托管库有两个一个是 Github,一个是 Gitlab,国内的 Git coffee也不错。

Github免费版本和学生版本都有一定的私人项目上限,需要付费才可以开更多的项目。同时因为服务器位于国外的原因,很有可能有链接不稳定的情况。 Git coffee用的不多。

本次范例使用的 Git 托管服务是前不久在自己寝室的服务器上建立的 Gitlab的community版本。如果是团队协作可以在内网中架设 Github服务器,既可以确保安全性也可以方便团队成员使用。(不大确定在真的商用公司是如何进行版本控制的,本文仅供各位参考,数据安全关系如需要架设自己的服务器一定要注意容灾,增加备份)

3. Sketch Git 插件的选择

>本次使用的是一款名为 Git -sketch-plugin的插件,由开发者Mathieudutour开发,是众多现有的 Git 插件中持续维护情况最好功能最完善的,项目在 Github开源,各位可以持续关注

Github链接:https:// Github.com/mathieudutour/ Git -sketch-plugin

我上传了一份0.21版本方便大家下载:http://7xr4z2.com1.z0.glb.clouddn.com/ Git -sketch-plugin-master.zip

4. 其他的技术准备

真的不要嫌麻烦哟,真的安装完之后会特别好用!

>1. Sketch >3.1 (非Mac App Store下载的版本,没有沙盒机制)

>2. 将Sketchtool安装在 /usr/local/bin/sketchtool

- Sketch官网教程: http://www.sketchapp.com/tool/

下载好最新的Sketch之后进入Finder-应用程序,找到Sketch之后右键查看包内容。

操作流程:

1464671494-1136-2zz20160302

进入Content-Resources-sketchtool,找到 install.sh

1464671492-3401-3zz20160302

启动系统自带的terminal(终端),将install.sh拖入即可执行安装程序

1464671492-5062-sketchGit24

如图所示即安装成功。

1464671492-3688-5zz20160302

>3. 安装 Git (参考 Git 的官网教程《1.4 起步 – 安装 Git 》

>4. 一个 Git 托管服务(并将本机的ssh密钥绑定方便拥有对 Gitlab服务器的访问权)本次使用 Gitlab, Github的使用可以参考这篇链接。

安装:下载 Git -sketch-plugin-master.zip

解压缩后点击 Git .sketchplugin进行安装。

1464671500-8163-4zz20160302

安装成功后的提醒:

1464671500-8597-sketchGit28

当这些都完成后可以开始啦!

5. 案例分享

1. 于 Gitlab的网页版本建立一个项目project。

1464671518-1746-7zz20160302

项目可以参照这个参数进行配置,可以设置项目为私人项目,也可以设置为public或者internal(本 Gitlab服务的用户可以访问)

1464671518-3379-9zz20160302

建立后使用 Git 命令`clone`到本地Mac中(通常我自己的路径就在自己的文件夹中)

通常直接拷贝`Create a new repository`下的几行命令进行项目文件夹的创建以及 Git 项目的初始化。

1464671518-1048-79741-db86eb352eefdf8a

在Mac系统下,可以使用系统自带的terminal进行 Git 的管理,非常方便。

1464671521-3940-10zz20160302

直接复制上方的 Git 命令拷贝入terminal

 Git  clone ssh:// Git @cloud.yuanchenhao.com:30001/>stevenyuan/sketch Git . Git 

cd sketch Git 

touch README.md

 Git  add README.md

 Git  commit -m "add README"

 Git  push -u origin master

1464671525-9209-79741-1a4037815dde8161

处理一段时间后会出现如图情况,按回车后进行本地的master(主分支)和 remote的master主分支的合并。

> Git push -u origin master

1464671526-8440-13zz20160302

执行到如图这样就代表本地文件夹和remote文件夹已经联系上了,打开文件夹可以看到一个README.md的项目描述文件,该文件是用于描述项目用,暂时可以不用管它。

1464671549-3833-14zz20160302

准备工作还差最后一步—建立你的sketch文件。这里为了方便演示,就用我之前在进行UI练习时进行到一半的稿件来演示。当然也可以直接将sketch文件复制到已经建立的 Git 文件夹或者将sketch文件复制到该文件夹。

1464671550-4071-15zz20160302

打开该sketch文件,这个时候这个文件还是属于无编制状态, Git 系统是没法管理到它的改变的,这个时候我们的主角 Git 插件就可以登场啦 —— 菜单栏-Plugins- Git -Add File to Git

1464671553-4877-16zz20160302

此时sketch下方会出现”File added to Git “就表示这个文件被追踪啦。

1464671552-8459-17zz20160302

现在我们进行第一次改动,试着改动artboard“新闻首页”的标签位置和字体:将标签移到了作者信息行末尾,将新闻标题的Lato-Light字体更改为Helvetica-Regular,不用手动按保存,sketch会自动保存。

1464671556-8552-18zz20160302

好了这是根据最新的设计潮流更改的,你决定保存一次,这个时候就要用到commit命令:Plugins- Git -Commit

1464671563-9918-19zz20160302

Sketch会弹出如图所示的对话框,commit to “master”,输入框里可以填写你对这次更改的描述,比如:客户需求1:更换字体为Helvetica,更换标签位置。一定要勾选“Generate files for pretty diffs”

这个生成diff差异文件可以说是这个插件和单纯用命令行最大的差别了:单纯的命令行操作 Git 需要你每次自己在teminal里输入比如 Git commit -m”客户需求1:更换字体为Helvetica,更换标签位置。”这样的命令,同时也需要你自己去导出示意图,非常麻烦,而这个commit命令可以很快完成这两步。

1464671584-3599-20zz20160302

commit 完成后就会出现下方这样的commit成功说明,如果有时候无法弹出就再次commit一次(一般不会出现,静候就好)。

有时候也会出现:no commit to submit意思的字样是sketch未来得及保存你的更改你就提交了commit,重新手动保存一下然后再commit就好。

1464671597-7509-21zz20160302

现在的commit完成就相当于生成了一个阶段性的存档,已经可以在本地使用 Git 回溯版本或者查看,不过为了团队协作、以及用上 Gitlab(或者 Github)系统的简洁的GUI操作界面进行对比我们需要将改动推送到远程服务器。

使用插件的push命令:Plugins- Git -Push

1464671599-4755-22zz20160302

然后sketch会卡顿一会儿,鼠标会变成风火轮旋转一会儿,具体时间视sketch文件的大小而定,文件越大持续的时间越长,此时就不要再进行其他操作了,如果sketch崩溃可能就要回到命令行去控制版本了。

不过有时候可能会跳出Failed..窗口,不用担心,其实commit已经提交到远程的master分支啦。后文会介绍解决这个问题。

接下来访问网页版 Gitlab查看现在项目的进度。

1464671605-9798-23zz20160302

在这里就可以看到现有的项目的commit了,每个artboard都有单独的跟踪,因此无论你修改了哪个arboard都可以看到版本更新,因为啥第一次commit因此没有对比照,我们再进行一次提交来使用对比功能。(步骤同上面完全相同)

1464671923-2272-24zz20160302

在本次修改中我删除了背景的遮罩、更改了标签颜色、添加了页面的分享功能,在commits界面可以看到新的一次提交:客户需求2

1464671616-7657-25zz20160302

打开本次commit之后就可以看到版本2:客户需求2 和客户需求1之前的对比了,在右上角的模式中,请选择SIDE-BY-SIDE,方便对比。

1464671622-5818-26zz20160302

在对比模式中, Gitlab同 Github一样提供了三种模式:2-up(左右对比),Swipe(从左至右拖动对比)以及Onion Skin(剥洋葱模式)

Swipe模式如图所示,便于对比版本前后的差异,如下图就可以看到现在对比线左右标签的颜色差异、缺失遮罩的画面不同,再往右拖动就可以看到分享菜单的有无对比。

1464671922-7368-27zz20160302

Onion skin模式就是从右往左的拖动,动态的进行对比,在之前的使用过程中觉得尤其对明暗的对比特别的有用。

1464671627-2442-28zz20160302

上面的范例已经简要说明了两次版本提交以及对比的使用方法,基本上覆盖了本次使用的 Git 插件的主要功能。如果个人单独使用,可以在每一步写上你从其他人(比如主管、前辈、用户)那边得到的反馈或者参考的项目链接,可以做到每一步改动都有理论的支撑而不是随意的更改。如果是团队使用那么 Git 的功能就更方便的发挥了,可以将团队中每一个人都添加到群组中,对更改发出各自的意见建议。

1464671631-2243-29zz20160302

branch功能和其他稍微高级一点的 Git 指令就暂时就不讲啦,之后有时间再更新,不过branch和master分支的切换对于团队开发或者自己进行多次不同风格的尝试的话会非常有用,可以独立进行多个分支的设计、通过自己或者团队审核通过后合并到master主分支形成最终的版本。

其他更加高阶的操作可以参照 Git 的标准操作流程来使用 附上 Gitlab flow以及 Github的flow,两者其实理念上是一样的

两者的差异可以参考阮一峰前辈的这篇对比文《 Git 工作流程》
如果有Sketch git插件的使用的问题可以加我的微信:804933158,或者给我写邮件 yuanchenhao1026@gmail.com

Sketch教程合集持续更新中:

投稿者:袁晨皓

原创文章,作者:ioued,如若转载,请注明出处:https://www.iamue.com/15191/

(0)
iouedioued
上一篇 2016-05-31 08:55
下一篇 2016-05-31 17:04

相关推荐

  • 交互设计之流程设计(1)

    流程设计是将信息架构转变为交互稿的重要步骤,什么是流程设计呢?简单来说,就是用户完成一项任务的步骤流程,用户是怎样一步一步的完成任务的。本文将从流程设计重要性、如何进行流程设计、流程设计与交互工作三个方面来阐述流程设计。一、流程设计的重要性流程设计对于用户体验来说非常重要,一个好的流程设计将会给用户带来非常的体验。在这里从流程设计是什么、流程设计中需要考虑的问题、优秀流程设计的好处三个方便来进行讲解。1 流程设计是什么首先理解交互设计是...

    2018-05-06
  • “用户体验” 才是售电公司的未来(中电联课程)

    本文由全球首家智能传媒平台—中传媒平台(CMCNP)提供对于售电公司来说,用户体验就是电力用户用电过程的一个主观感受。那这样就有一个疑问:用电还有什么区别吗?电本身就是无差别的商品。所以,售电公司就应该提供差异化增值服务以满足用户体验。如果不谈用户体验,那售电公司单凭价差、所谓的增值服务去吸引用户,去谋未来?价差谁比的过电厂的售电公司,增值服务谁不会,不知道中国人最擅长的就是“借鉴”吗?如果是这样,独立售电公司在市场上就真的没什么竞争力...

    2018-02-05
  • 精益设计,敏捷开发,一个都不能少

    Agile UX 和 Lean UX,即两种软件开发方法在设计领域的应用。敏捷用户体验注重产品设计中人员交流,软件交付及开发的高效,而精益用户体验则以人为核心,注重产品与市场的匹配度。两种方法各有优缺点,但同样重要。

    2017-04-30
  • 深入智能商业用户体验 —— 艺土咨询(ETU)

    4月10日下午,本协会会长王日华和副秘书长王索飞等一行前往位于长宁区凯旋路166号上的本协会理事单位上海艺土界面设计有限公司走访,该公司董事长林钦、资深用户体验设计师梁雯琦热情接待了王会长一行。在该公司的会议室,林总首先用PPT形式向王会长一行简单介绍了艺土公司的发展情况。她说,艺土(ETU)自2004年成立以来,深耕用户体验行业14载,通过与160多个知名企业进行760多个项目的深度合作探讨,帮助企业通过洞察市场价值、理解用户价值需求...

    2018-04-12
  • 从用户体验的角度谈多数RPG战斗系统中的缺陷

    在为RPG创建战斗系统时,多数开发者首先会考虑到这个问题:“游戏中的各个角色会有哪些优势和弱点”。四大元素系统基本的战斗系统之一是,带有水、火、风、土的“四大元素系统”——水比火厉害,火比风厉害等等。这一系统适用于元素不多的游戏,因为玩家几乎立刻就会明白哪些元素能对敌人造成更大伤害。在现实生活中,不同元素的相互作用是众所周知的,因此开发者可以在不提供大量教程的情况下使用这些现实生活中的元素。但如果将这个系统进行延伸的话,就会导致交叉优势...

    2018-04-17
  • 一项来自建筑学科的提案:如何运用交互设计手段扩展难民儿童的社会互动空间

    目前在德国官方接纳的难民中,接近半数(注1)是儿童或者青少年,这个严峻的事实已经使得德国成为世界上接收未成年难民最多的国家。根据联邦移民和难民局(BAMF)的官方报告,超过23万儿童难民处于令人难以忍受的居…

    2017-08-02
  • 阿里UCAN2017用户体验设计论坛的总结与感悟

    五一假期前的两天有幸参加了阿里UCAN2017用户体验设计论坛,很荣幸的领略了业内大牛们对于体验设计的理念与趋势的见解。本次论坛的主题是“新设计x新商业”,由阿里提出的新零售、新金融、新创造、新能源和新技术为起点,借助用户体验的设计赋能,来连接用户、商业与技术,实现最大化的商业目的。在沉淀了两天之后,我将从中学习领悟到的一些看法总结了下来。“利用人类的现实感官作为交互体验的手段,模拟与现实世界相似的场景,让体验特征表现的更加直观,真实。正是借助于科技的创新,一体性、真实性的交互体验才得以实现,人类与虚拟信息的交流才会越来越自然。”在既要满足一群人,又要满足个体中的一个人,包容一个人到参与群体的场景多样性。就是现在设计思维中所需要逐渐形成机器学习的共生方式。— 阿里妈妈UED总监 萧健兴“全链路设计是新技术发展下的必然趋势。”

    2017-05-01
  • 国内大公司的交互设计实习面试经验总结

    沈天宇 :看着拉钩、脉脉上关于互联网岗位的信息,找一个交互设计的岗位几乎要面对100个人的竞争。想想我面前站着100个人,我要赤手空拳的打败他们,这画面简直不敢想。所以一开始我完全不知道我到底能找到一个什么样的工作,大概有一种「大爷赏口饭吃」的姿态去找实习。毕竟,我们实验室也好几年没出过阿里的人了,我也感觉我没那么优秀。面对如此严峻的就业形势,恩,首先还是开始找实习吧。这是一个最坏的时代,(一点也不好。),而且也许以后会更坏。对于找工作...

    2018-02-01
  • 设计高效好用表单的10个技巧

    让问题保持直观的顺序。你应当站在用户的角度按照逻辑提问题,而非按照程序或者数据库的逻辑。如果问题之间没有逻辑存在,那么可以按照字母顺序来排布。
    以直觉的顺序组织选项。比如选项为日期的时候,按照周一周二周三这样的顺序来排布,而非乱序。
    时刻反思从用户那里获得的信息是否必要,如何使用。这样做是为了消除不必要的选项,提升完成率。

    一旦用户点击输入框,标签会消失,用户容易忘记谈需要输入的内容以及形式
    当用户看到输入框中有内容填充的时候,会误解为这个字段已经被填写而无需输入了

    2017-05-21
  • 如何发现交互设计中的思维盲区

    在一个项目中,交互设计起着承上启下的作用。开发人员根据交互文档搭建初步的程序框架,视觉设计师基于交互设计进行精细的界面设计,之后再交付开发。交互设计方案的改动涉及多方的调整,虽然不及产品需求变更那样…

    2015-08-26