work. blog. about. contact.
Find me on uplabs and dribbble
©2018 Chuanhu Du. All Rights Reserved.
work blog about contact



设计师如何进行版本控制,版本管理工具 Abstract 使用指南

Design system / May 12, 2019

工程师有着非常完善的版本管理系统 Git,它在项目管理和协作中发挥了很大的作用,节省了大量版本管理时间和沟通成本。另一方面,设计师还在通过复制文档或画板的方式做着版本管理,协作时各版本文件满天飞。有的设计师会通过使用同步云盘或 SVN 来控制版本,但也会有冲突副本等很多问题。

「当工具能帮助提升效率的时候,就使用工具。」——这是我们的主张。设计师的时间很宝贵,应该用在更需要创造性或能创造高价值的地方,而非重复枯燥无意义的工作。

Git 是目前最先进的版本控制系统,我们今天要介绍的工具 Abstract 就是基于 Git 的。



使用 Abstract 之前,我们需要理解什么是版本控制:版本控制 (Version control) 系统会记录对项目源文件的改动,并存为一系列历史快照。当你需要查看一个之前的快照时,版本控制系统可以显示当前版本与上一个版本之间的区别。Abstract 就是设计文件的版本控制工具,它能记录对每个页面的细节更改。

既然 Abstract 基于 Git,那为什么不使用 Github 来做设计文件的版本控制呢?理论上可以,但此时就变成了单纯的文件管理,因为 Github 只能理解文本,不能理解设计文件的元素级改动。与之不同的是,Abstract 能真正理解设计文件,比如提交了一个 Sketch 文件,做一些修改再提交,Github 会认为它是完全不同的两个文件,而 Abstract 则能识别你是修改了一个样式还是删减了一个页面。

版本控制里我们有几个概念需要理解:主库(master)、分支(branch)、提交(commit)、合并(merge)和指针(head)。主库可以理解成确定版文件,设计输出都以这个文件为基础;分支可以想成修改过程的文件版本;提交就是把确定的修改从暂存区写入到分支中;合并就是把确定修改的内容保存到确定版文件中。 指针(head)指向什么分支,当前设计就处在什么版本。

首先,我们会将初始版本的文件作为基础文件,放到主库中。

当我们需要做一系列修改或新增模块的时候,会开一个新分支,如 4.1 分支 ,之后所有修改都会在该分支下进行,指针会指向该分支。在 4.1 分支里所做的修改确定之后,就可以把修改保存到该分支里面,这个操作叫做提交 commit,提交后项目版本就会向后推动一个版本。

提交后若该分支需要做的改动已经完成,可以将该分支的改动同步到主库 master 中,这个操作叫做合并 merge ,Abstract 会在合并的时候直接将分支删除。将分支的修改合并到主库之后,基础文件就会行进到下一个确定版本了。

了解了版本管理的运作原理,我们就可以上手使用 Abstract 了。它的使用很简单,大体上可以改过为六步:
1.创建项目
2.导入或创建空白 Sketch 文件
3.创建新分支(branch)
4.从 Abstract 中打开 Sketch 文件,编辑文件后提交(commit)
5.审阅评论,修改后提交
6.将分支(branch)合并到主库(master)

第一步:创建项目&邀请成员

你可以直接创建项目供个人使用,也可以创建项目并邀请团队成员以供团队使用。可以为每个项目设置颜色区分,也可以自定义颜色色值。勾选「make project private」时,只有被邀请的用户才能看到内容。你也可以通过被邀请的方式进入一个项目,此时就不用创建项目了。

如果你是组织(Organization) 或项目(Project)的创建者,则需要邀请其他团队成员进入项目来进行协作。我们有两种方式来完成这一目的:先在组织中邀请成员,再进入项目中将邀请的成员加入项目,或者可以直接进入项目邀请成员。在组织的首页点击「People」,然后点击右上角的「INVITE PEOPLE」即可邀请其他成员。

我们可以通过发送链接或输入邮箱的方式来来邀请成员,成员分贡献者(Contributors)和查看者(Viwers)两种,前者有比较大的权限,可以创建分支、编辑文件、提交修改和更新/合并分支,后者只能审核、评论、标注、导出文件和无追踪打开文件。

在组织中邀请成员成功之后,成员便会显示在团队列表中。此时进入项目(Projects)页面即可直接在团队成员(TEAM MEMBERS)中添加成员,也可以在 INVITE GUESTS 中通过链接或邮箱的方式邀请成员到项目中。

第二步:导入或创建 Sketch 文件

创建项目后你可以直接导入已有的 Sketch 文件 (IMPORT SKETCH FILE),也可以直接创建一个空的 Sketch 文件(CREATE SKETCH FILE)。直接创建文件的时候可以选择是否把文件当做 Library 使用(USE AS LIBRARY)。

第三步:创建新分支

当你想要对导入或创建的文件进行修改时,需要建立一个新的分支(branch),新分支会复制一份源文件(master),所做的修改都会发生在复制的文件中(branch),不用担心对源文件(master)的影响。你也可以在别人的分支下创建新的分支,这样你们就可以在同一个分支版本的文件下一起工作而不用担心影响主库文件或覆盖彼此的文件。

创建分支后,确保进行设计时总是从 Abstract 中打开 Sketch 文件,这样对文件所做的更改才会被记录下来。点击「NEW BRANCH」按钮即可创建新的分支。点击「EDIT IN SKECTH」后在对话框中选择「CREATE A BRANCH」也可创建新分支。

第四步:编辑文件并提交

创建分支之后我们就可以开始日常设计工作了,选中该分支后点击「EDIT IN SKETCH」按钮,即可在 Sketch 中打开该文件进行工作。

完成修改后点击保存,在 Sketch 的底部会出现 Abstract 的提交(commit)按钮,点击该按钮,填写标题和概述(此次修改内容)后就可以进行提交,提交后团队其他成员就可以知道文件在什么时候被做了什么修改,以及被修改的原因。

若提交修改后发现提交的东西有错误,则可以通过恢复上一版本的提交来撤销本次提交。选中想要恢复的 Commit,点击右上角的恢复图标即可。

第五步:审阅评论,修改后提交

提交修改后,可以让团队中的其他人进行内审并留下修改意见。点击「REQUEST REVIEW」在弹出的对话框中输入团队成员,即可通知他们对设计进行评审。

第六步:将分支合并到主库

评审之后,我们再做一轮修改,将修改内容提交到分支。这时该分支的设计已经是确定的设计了,可以合并(merge)到主库中进行归档,进入开发阶段。点击「MERGE BRANCH」后在弹出的对话框中输入分支更改内容和其他需要注意的信息即可。合并成功之后,该分支会被删除,其所做的更改保存到了主库中,团队中所有成员都会收到更新并可直接使用。

在将分支合并到主库之前应通过项目管理者的审核,避免出错。若将二级分支合并到一级分支,则应通过一级分支管理者的审核,避免出现问题。

▲ 进行合并操作之前必须把所做的改动进行提交

我们可以使用 Abstract 来管理 Sketch library,并将设计文件和 library 文件进行链接,这样 library 更新之后,设计文件也可以一键同步更新。我们可以在任何一个项目中上传 Sketch library 文件。在分支的「file」栏点击「ADD FILE」,选择将 Sketch 文件作为 library 导入(Import Sketch File as Library)或新建 library 文件(Create Sketch File as Library)。

导入或创建 library 之后,选择非 library sketch 文件,点击添加文件-链接组件库(ADD FILE-Link Sketch Library)即可将两者链接起来。

团队成员可以对彼此提交的设计内容进行审阅和评论,方便互相启发和交流意见。可以对团队成员的任一个页面进行评论,也可以给页面添加高亮区(annotate),针对该该区域进行说和评论。

我们可以使用 Abstract 的收藏夹(collection)功能来整理、展示和分享我们的设计。建立收藏夹即选取需要展示的设计页面,这些页面会随着设计的更改实时更新,团队成员也可以通过这个入口快速进行评论、预览和读取标注。

Abstract 解决了设计师版本控制的痛点,避免其深陷其中花费过多时间精力,带来了很大的生产力解放。随着 Abstract 功能的进一步丰满,甚至可以作为设计和开发协作流程的主力来使用。

参考链接:


Abstract

Abstract - Version Control like Git for Designers

Abstract on YouTube
©2021 Chuanhu Du. All Rights Reserved. All articles Find me on github and codepen