「原創(chuàng)」設(shè)計師的版本控制-Sketch git插件的使用示范

最近自己一直在進行UI設(shè)計的學(xué)習(xí),主要使用的軟件是Sketch。在學(xué)習(xí)的過程中,很多時候在參考前輩們的意見后會進行多個版本的更改和嘗試,因此不僅會出現(xiàn)多個版本的.sketch文件同時也會導(dǎo)出很多不同版本的預(yù)覽圖,這就導(dǎo)致整理的時候其實比較雜亂,對于管理自己的作品其實很不利。因此嘗試用程序員的心頭好git來版本管理。

相比git(插件)管理,普通方式保存有這么幾個缺陷

1.他人的評價很難和對應(yīng)版本的文件整合起來(如果在.sketch文件內(nèi)插入他人的評價文字的話每次審閱還需要打開不同的版本,獲取信息效率不高)

2.同時保存多個版本的.sketch文件其實也是相對來說占空間的,歸檔時不夠靈活。

3.雖然Sketch其實已經(jīng)有內(nèi)建的不錯的版本控制,但該版本回溯功能也只能個人獨立使用(且效率較低),會缺乏團隊協(xié)作性。

因此綜上就決定開始嘗試使用Git來進行設(shè)計文件的版本控制,因為我自己專業(yè)的一半是寫代碼(c++,c#之類...)所以對git會相對熟悉,可以進行簡單的命令行進行版本控制,但命令行操作可能對于很多設(shè)計師來說還是相對容易出錯的,因此需要圖形化的插件幫助,為此我專門去尋找了適用于sketch的git插件。最終效果如下圖所示。

演示項目已經(jīng)開放給大家,大家可以前去圍觀真使用插件管理的效果。服務(wù)器建立在位于香港的寢室里,可能速度一般,還請耐心等待。

http://cloud.yuanchenhao.com:30000/stevenyuan/sketchGit.git

gitlab對比界面

1.什么是git

Git是目前世界上最先進的分布式版本控制系統(tǒng)(沒有之一)。

Git是一個開源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。



2.git托管服務(wù)的選擇

git的版本控制可以在本地進行,但是推送到遠(yuǎn)程服務(wù)器(局域網(wǎng)內(nèi)建也可)之后其實有更優(yōu)化的版本視覺對比?,F(xiàn)有的主要的git托管庫有兩個一個是github,一個是gitlab,國內(nèi)的gitcoffee也不錯。

github免費版本和學(xué)生版本都有一定的私人項目上限,需要付費才可以開更多的項目。同時因為服務(wù)器位于國外的原因,很有可能有鏈接不穩(wěn)定的情況。gitcoffee用的不多。

本次范例使用的git托管服務(wù)是前不久在自己寢室的服務(wù)器上建立的gitlab的community版本。如果是團隊協(xié)作可以在內(nèi)網(wǎng)中架設(shè)github服務(wù)器,既可以確保安全性也可以方便團隊成員使用。(不大確定在真的商用公司是如何進行版本控制的,本文僅供各位參考,數(shù)據(jù)安全關(guān)系如需要架設(shè)自己的服務(wù)器一定要注意容災(zāi),增加備份)



3.Sketch git插件的選擇

本次使用的是一款名為git-sketch-plugin的插件,由開發(fā)者mathieudutour開發(fā),是眾多現(xiàn)有的git插件中持續(xù)維護情況最好功能最完善的,項目在github開源,各位可以持續(xù)關(guān)注

github鏈接:https://github.com/mathieudutour/git-sketch-plugin

我在七牛云上傳了一份0.21版本方便大家下載

http://7xr4z2.com1.z0.glb.clouddn.com.zcool.cn/git-sketch-plugin-master.zip



4.其他的技術(shù)準(zhǔn)備

需要一些時間配置,但是不要嫌麻煩喲。

1.Sketch >3.1 (非Mac App Store下載的版本,沒有沙盒機制)

注意:Sketch已經(jīng)撤離Mac App Store,原來從Mac App store下載的童鞋可以通過官方獲得激活碼激活非Mac App Store版本。

2.將Sketchtool安裝在 /usr/local/bin/sketchtool

可以參考Sketch官網(wǎng)教程

下載好最新的Sketch之后進入Finder-應(yīng)用程序,找到Sketch之后右鍵查看包內(nèi)容


顯示Sketch的包內(nèi)容

進入Content-Resources-sketchtool,找到?install.sh


install.sh

啟動系統(tǒng)自帶的terminal(終端),將install.sh拖入即可執(zhí)行安裝程序


terminal(終端)

如圖所示即安裝成功


sketchtool安裝成功

3.安裝git

(參考git的官網(wǎng)教程《1.4 起步 - 安裝 Git

4.選擇一個git托管服務(wù) (諸如gitlab、github、bitbucket、gitcoffee....)

(并將本機的ssh密鑰綁定方便擁有對gitlab服務(wù)器的訪問權(quán))

terminal中輸入下方代碼獲取本機的ssh密鑰

?pbcopy < ~/.ssh/id_rsa.pub

(建立ssh密鑰可以參考:http://doc.gitlab.com/ce/ssh/README.html)

本次范例使用建于寢室服務(wù)器的gitlab。

5.安裝插件

下載?git-sketch-plugin-master.zip

解壓縮后點擊Git.sketchplugin進行安裝


點擊Git.sketchplugin進行安裝

安裝成功后的提醒


插件安裝成功

當(dāng)這些都完成后可以開始啦!

5.案例分享

于gitlab的網(wǎng)頁版本建立一個項目project


開始建立項目

項目可以參照這個參數(shù)進行配置,可以設(shè)置項目為私人項目,也可以設(shè)置為public或者internal(本gitlab服務(wù)的用戶可以訪問)


建立gitlab項目

建立后使用git命令clone到本地Mac中(通常我自己的路徑就在自己的文件夾中)

通常直接拷貝Create a new repository下的幾行命令進行項目文件夾的創(chuàng)建以及git項目的初始化


在Mac系統(tǒng)下,可以使用系統(tǒng)自帶的terminal進行g(shù)it的管理,非常方便。

terminal(終端)

直接復(fù)制gitlab網(wǎng)頁端項目下的的git命令(create a new repository)拷貝入terminal

git clone ssh://git@cloud.yuanchenhao.com:30001/>stevenyuan/sketchGit.gitcd sketchGittouch README.mdgit add README.mdgit commit -m "add README"git push -u origin master


處理一段時間后會出現(xiàn)如圖情況,按回車后進行本地的master(主分支)和 remote的master主分支的合并?

git push -u origin master(按回車后自動執(zhí)行)


本地、遠(yuǎn)程master分支已經(jīng)同步

執(zhí)行到如圖這樣就代表本地文件夾和remote文件夾已經(jīng)聯(lián)系上了,打開文件夾可以看到一個README.md的項目描述文件,該文件是用于描述項目用,暫時可以不用管它。


git文件夾的初始化狀態(tài)

準(zhǔn)備工作還差最后一步---建立你的sketch文件。這里為了方便演示,就用我之前在進行UI練習(xí)時進行到一半的稿件來演示。當(dāng)然也可以直接將sketch文件復(fù)制到已經(jīng)建立的git文件夾或者將sketch文件復(fù)制到該文件夾


于git文件夾內(nèi)創(chuàng)建(粘貼).sketch文件

打開該sketch文件,這個時候這個文件還是屬于無編制狀態(tài),git系統(tǒng)是沒法管理到它的改變的,這個時候我們的主角Git插件就可以登場啦,

菜單欄-Plugins-Git-Add File to git


將文件添加入Git跟蹤列表

此時sketch下方會出現(xiàn)"File added to git"就表示這個文件被追蹤啦。


文件添加成功


現(xiàn)在我們進行第一次改動,試著改動artboard“新聞首頁”的標(biāo)簽位置和字體:將標(biāo)簽移到了作者信息行末尾,將新聞標(biāo)題的Lato-Light字體更改為Helvetica-Regular,不用手動按保存,sketch會自動保存。


進行第一次改動(將被保存為第一個版本)

好了這時候你決定保存一次,這個時候就要用到commit命令

Commit 命令

Plugins-Git-Commit

Sketch會彈出如圖所示的對話框,commit to “master”,輸入框里可以填寫你對這次更改的描述,比如:客戶需求1:更換字體為Helvetica,更換標(biāo)簽位置。一定要勾選“Generate files for pretty diffs”

這個生成diff差異文件可以說是這個插件和單純用命令行最大的差別了:單純的命令行操作git需要你每次自己在teminal里輸入比如 git commit -m"客戶需求1:更換字體為Helvetica,更換標(biāo)簽位置。"這樣的命令,同時也需要你自己去導(dǎo)出示意圖,非常麻煩,而這個commit命令可以很快完成這兩步。


Commit+版本描述+生成導(dǎo)出圖


commit 完成后就會出現(xiàn)下方這樣的commit成功說明,如果有時候無法彈出就再次commit一次(一般不會出現(xiàn),靜候就好)。


commit狀態(tài)成功、并自動生成了導(dǎo)出圖


有時候也會出現(xiàn):no commit to submit 意思的字樣是sketch未來得及保存你的更改你就提交了commit,重新手動保存一下然后再commit就好。

現(xiàn)在的commit完成就相當(dāng)于生成了一個階段性的存檔,已經(jīng)可以在本地使用git回溯版本或者查看

,不過為了團隊協(xié)作、以及用上gitlab(或者github)系統(tǒng)的簡潔的GUI操作界面進行對比我們需要將改動推送到遠(yuǎn)程服務(wù)器。

使用插件的push命令

Plugins-Git-Push


執(zhí)行push命令

然后sketch會卡頓一會兒,鼠標(biāo)會變成風(fēng)火輪旋轉(zhuǎn)一會兒,具體時間視sketch文件的大小而定,文件越大持續(xù)的時間越長,此時就不要再進行其他操作了,如果sketch崩潰可能就要回到命令行去控制版本了。

不過有時候可能會跳出Failed..窗口,不用擔(dān)心,其實commit已經(jīng)提交到遠(yuǎn)程的master分支啦。

接下來訪問網(wǎng)頁版gitlab查看現(xiàn)在項目的進度。


項目界面

在這里就可以看到現(xiàn)有的項目的commit了,每個artboard都有單獨的跟蹤,因此無論你修改了哪個arboard都可以看到版本更新,因為剛剛是第一次commit因此沒有對比照,我們再進行一次提交來使用對比功能。(步驟同上面完全相同)


commit詳情頁

在本次修改中我刪除了背景的遮罩、更改了標(biāo)簽顏色、添加了頁面的分享功能,在commits界面可以看到新的一次提交:客戶需求2


Commits歷史界面

打開本次commit之后就可以看到版本2:客戶需求2 和客戶需求1之前的對比了,在右上角的模式中,請選擇

SIDE-BY-SIDE

,方便對比。


2-up模式

在對比模式中,gitlab同github一樣提供了三種模式:2-up(左右對比,如上圖所示),Swipe(從左至右拖動對比)以及Onion Skin(剝洋蔥模式)

Swipe模式如圖所示,便于對比版本前后的差異,如下圖就可以看到現(xiàn)在對比線左右標(biāo)簽的顏色差異、缺失遮罩的畫面不同,再往右拖動就可以看到分享菜單的有無對比。


Swipe模式

Onion skin

模式就是從右往左的拖動,動態(tài)的進行對比,在之前的使用過程中覺得尤其對明暗的對比特別的有用。


Onion skin模式

上面的范例已經(jīng)簡要說明了兩次版本提交以及對比的使用方法,基本上覆蓋了本次使用的git插件的主要功能。如果個人單獨使用,可以在每一步寫上你從其他人(比如主管、前輩、用戶)那邊得到的反饋或者參考的項目鏈接,可以做到每一步改動都有理論的支撐而不是隨意的更改。如果是團隊使用那么git的功能就更方便的發(fā)揮了,可以將團隊中每一個人都添加到群組中,對更改發(fā)出各自的意見建議。


評論功能(支持Markdown)


6.其他

branch功能和其他稍微高級一點的git指令就暫時就不講啦,之后有時間再更新,不過branch和master分支的切換對于團隊開發(fā)或者自己進行多次不同風(fēng)格的嘗試的話會非常有用,可以獨立進行多個分支的設(shè)計、通過自己或者團隊審核通過后合并到master主分支形成最終的版本。

其他更加高階的操作可以參照git的標(biāo)準(zhǔn)操作流程來使用。附上gitlab flow以及github的flow,兩者其實理念上是一樣的

https://about.gitlab.com/2014/09/29/gitlab-flow/

https://guides.github.com/introduction/flow/

兩者的差異可以參考 阮一峰前輩的這篇對比文《Git 工作流程


7.聯(lián)系

本次行文比較倉促也比較偏口語化,暫時沒有時間錄制視頻給大家了,

如果有Sketch git插件的使用的問題可以加我的微信:804933158 或者給我寫郵件 yuanchenhao1026@gmail.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • GIT分布式版本控制系統(tǒng)最佳實踐 這篇文章來自于老男孩教育高級架構(gòu)師班12期的徐亮偉同學(xué)。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,815評論 4 36
  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 26,159評論 7 249
  • 寫標(biāo)題突然發(fā)現(xiàn)今天是七月的最后一天了。上兩周報名參加了一場考試,雖然把備考資料都瀏覽了一遍,但一場考試下來,發(fā)現(xiàn)沒...
    北山?jīng)]有山閱讀 200評論 0 0
  • 叮咚作響的各色鞋子里 一眼看到的 不是定睛的夢中人 而是艷麗衣裳 光怪陸離的幻想 你為誰駐足 一個不曾言語的冬天 ...
    王小妖呀閱讀 203評論 0 0
  • 2015年11月24日 23:20 我親愛的蘇靜 我想 每個人都以自己的方式活著 有認(rèn)同也必定有不認(rèn)同 我想我明白...
    阿阿阿阿阿北閱讀 225評論 0 0

友情鏈接更多精彩內(nèi)容