专为设计师而写的GITHUB快速入门教程

 

  李凯文( Tower设计师):在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目托管平台,许多企业也都是用GitHub来协同开发工作,当然我们彩程也是其中之一。笔者最初决定学习Git也是因为在团队内部设计方案初步被开发出来后,难免会有一些细节需要调整,而为了调整几像素的问题再求前端工程师出马,其实是很影响整体效率的,所以希望通过学习GitHub好在必要的时候直接参与开发,能发挥自己的一点CSS技术以更直接快速的解决问题。

  但是期间竟然发现网上无一篇为设计师而备的Git教程,典型的,几乎没有一个教程讲了GitHub的官方应用,而都是围绕命令符做教程,对就是DOS那样的命令符界面,这对于设计师和产品经理等非技术背景从业者来说多少有些难于上手,所以笔者打算结合个人体验,自己动手写一篇以使用网页和客户端为主的GitHub教程(暂时先仅以Mac版客户端为例),希望它能帮助大家以最快速度熟悉并逐渐开始使用GitHub。

  为什么要了解GitHub

  在开始之前,还是得说说为什么GitHub值得设计师学习。除了开篇所讲的例子,可以将自己所了解的一点CSS或开发技能发挥出来,降低团队合作中的沟通成本。这本质上还是设计师是否应该学习开发或学习到什么程度的问题。不过我一直认为这没什么可探讨的,只是每个人不同的选择和追求。就像有些人是想成为家具设计师,有些人是真想亲手打磨出自己心中最理想的那一把椅子;有些人想成为建筑设计师,有些人只想在山脚下为家人盖一座完美小屋。同样,如果你是真的热爱这个日新月异的行业,没准某天也要自己创造点什么,我想你一定会毫不犹豫的开始学习。

  什么是Github


  按惯例,还是先简介下究竟什么是Git(有基本认识的同学可以直接跳过)。让我们摒弃那些专业名词,用设计师工作中经常遇到的情况来介绍什么是Git:

  • 你出了一版方案A,在大家讨论后,你改到B,结果再讨论,大家觉得还是不如用A,这时发现A没有另存,还得再改回去!在GitHub中就不用担心,它会记录你提交的每个版本,并把这些都放在一个仓库(Repository)里,而每一次提交改变就是 Commit,你可以随时回退到任意一个版本。

  • 此外你还很可能遇到方案衍生的情况,在方案A的基础上,改出了一种方案B,又改出了一种方案C,可能还分别衍生出B1、B2及C1、C2,在GitHub里有分支(Branches)可以记录这种方案的分化过程。

  • 后来你觉得B1和C2方案中都有可取的地方,把它们融合一下就可以输出终稿了,Git里当然也支持这种分支合并(Merged)。

  当你个人使用Git,涉及的基本概念就这么几条,是不非常简单呢。下面我们来看看多人协同,也就是Git真正厉害的地方,当然也不复杂。

  • 在稍大的团队中,可能需要几个设计师合作完成一个方案,怎么样统一进度呢,一种就是大家每天把文件拷在一起,这需要经常浪费时间去同步文件,显然很不方便。另一种是每个人电脑里都留一份,需要时就和云端服务器同步,Git就是采用这样的所谓分布式系统。好处是更安全,也更便捷。

  • 那么问题也就来了,如果大家都改同一个东西,万一冲突了怎么办?不用担心,Git会帮你对比并告诉你哪里有冲突了,你可以逐个对冲突的地方做出抉择。此外,前面不是讲到可以衍生出分支(Branches)么,在大家各自推进方案的时候,分别把内容放在不同的分支里,就不会相互干扰了。

  • 开源的项目是任何人都可见,你可以Fork一个项目,这相当于在你的账号下从原项目新建了一个分支,你可以在此基础上改动,如果有希望提交给原作者的成果,可以发合并申请到原库(Pull Request),原作者可以看到通知并决定是否合并。通过这种方式,大家就可以合力将某个开源项目变得更好。


  最后我们还得明确一下概念,Git和GitHub有什么区别,引用知乎上Fluyy的解释“git是一个版本控制工具,github是一个用git做版本控制的项目托管平台。”这有点类似于Wordpress和Wordpress.com的关系,前者是一个任何有都可以用的免费博客系统,后者是一个平台,在这个平台上你可以通过注册来直接使用Wordpress写博客。

  说到这里我想你已经对GitHub是怎么回事有了基本的认识,下面就让我们撸起袖子,以一个简单的案例来看看GitHub到底是怎么使用吧。

  案例学习:做一遍全明白!

  我们以Fork一个项目,做出自己的修改并提交给原作者的任务作为基本案例,下面跟着我一步一步来吧,网快手快的同学几分钟就可以搞定啦。

  第一步:注册一个GitHub账号并登录

  这个流程就不说了,完成后可以下载GitHub官方App,并登录。

  第二步:Fork仓库


  点这里打开我用马甲专为本教程建立一个库 Designers-Learn-Git,可以看到创建者名(我的马甲)写在/前面:Tower-KevinLi。然后点击右上角的Fork按钮。

  完成后你会发现跳到一个新的页面,Tower-KevinLi变成了你的GitHub账户名(cnkevinlee是我的另一个马甲…),这表示你的账号下已经“复制了”一份Designer-Learn-Git,然后你就可以做修改了。


  第三步:修改文件

  可以看到Designers-Learn-Git这个仓库里只有两个文件“README.md”(项目说明)和“花名册.txt”,这里我们只需尝试修改后者(道理和修改有很多文件的仓库是一样的)。可以直接在线修改,也可以先克隆到本机再修改,对于比较复杂的项目肯定是要采取后者,不过这里我们可以先看看在网页上直接修改怎么操作。


  在线修改:直接在页面上点”花名册.txt“的名字,进入如下详情页,再点击”Edit“。

  这里设计的任务内容是在花名册上随便写写你的ID和Tiitle,初衷是能通过这个和学习这个教程的同学有一个互动,看看你能排到第几位。


  在编辑页面编辑完后,滚动到页面底部,点击绿色的“Commit Changes”按钮确认提交。

  本地修改:另一种办法是把项目克隆到本地后再修改,打开客户端(这里以Mac最新版为例),点击右上角的“+”号,切换到“Clone”,找到“Designers-Learn-Git”后点击右下的“Clone Repository”按钮。


  然后从本地找到克隆的文件夹,打开“花名册.txt”,编辑并保存。这时再切换到GitHub应用的窗口,你会发现它在“Changes”页已经检测到并列出了你的改变,然后点击Commit & Sync按钮,将修改提交并同步到GitHub。注意,提交和同步是两个动作,需要先将下图那个绿色的按钮激活,这两个动作才会同时执行,否则你就需要在提交后再点整个界面右上角的Sync(适用于做出多个修改后统一提交的情况)。


  第四步:申请合并

  在确认已经对自己Fork了的仓库修改成功后,你可以将提交合并申请,申请将你的版本合并入最初的项目也就是我创建的 Designers-Learn-Git,步骤如下:

  在网页上打开你Fork的Designers-Learn-Git的页面,点击这个醒目的绿色按钮。


  再点击“Create pull request”按钮,提交申请,完成后我会收到通知,并将你补充的内容合并入原库。


  注意上图圈红的地方显示了要合并的两个分支,由于没有新建分支,这里就默认显示两个库都仅有的Master主分支,你可以尝试新建分支,并选择其它分支申请合并,体验GitHub的分支功能,本文作为入门教程这里就先不赘述了,有问题的同学可以联系我。

  图片对比功能,设计师的真爱!

  做完前面的案例,你会发现GitHub可以直接对比文件间的改动,但也仅对程序、文本文件有效,可我们设计师都是靠图吃饭啊!好了别急,GitHub一直在努力提升设计师的使用体验,并且已经实现了很好的图片对比功能,当然直接上传可能巨大的PSD源文件不太现实,但我们可以对比导出后的版本,点击这里看看Demo吧。


  GitHub的图片对比工具提供了三种对比方法帮你找不同,我们来挨个看一下:

  2-up:就是直接并排放在一起对比,会显示尺寸:


  Swipe:是将两个图摞在一起,通过拖动,改变上面的图的显示大小,用户盯着拖动线附近的变化就可以快速发现区别了,如图,当拖到猫眼附近就很容易看出一个戴了眼镜。


  Onion Skin:也是将两个图摞在一块,图下方有一个拖动条,控制上面一张图的透明度,这样在拖动改变透明度的时候,就能感觉到有区别的地方了。

  GitHub使用拓展:能做的远不止这些!


  用GitHub协作翻译


  苹果发布Swift语言,号称更加容易上手,让很多设计师都跃跃欲试。官方同时发布了(翻译成中文后)达300多页的官方手册,而国内一个自发组织起来的团队,30多个人用9天时间即将翻译和校对工作全部完成,他们每人都还有自己的事情,上班、上线、创业,然而借助GitHub他们仅用业余时间在这么短的时间内就完成了这一壮举。他们的口号是“这一次,让中国和世界同步”

  点这里可以看到他们的项目和翻译成果。

  用GitHub写书

  说到了前一个例子,就不得不提GitBook,一个结合GitHub和Markdown来制作精美在线读物的工具。你可以自己或和任何人合作,编著一本在线书籍,还能够销售,当作家不再只是梦。


  用GitHub进行项目管理

  GitHub最初是为了开发的管理而生,当然也就具备了项目管理的潜质,特别是与开发密切联系的项目中,它的优势尽显。用GitHub搭建博客、个人网站

  一个在线的个人页面,独立博客,几乎是每个设计师的必备。过去,要自己租空间、安装网站程序,搭个人网站,是个耗时又好钱的事。而GitHub本身提供免费的托管服务,又提供了贴心的Pages功能,可以绑定你自己的域名,让这一切就水到渠成了。免费、高效、不限流量,做一个个人页面绰绰有余,比如前两天碰巧看到的这个例子:jianglai.me。不过其实很多工程师都已经在GitHub上搭建了自己的博客,设计师们也快跟进吧。

时间: 2024-10-25 09:19:04

专为设计师而写的GITHUB快速入门教程的相关文章

ReactJs快速入门教程(精华版)_javascript技巧

现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领略ReactJs的风采吧~~ 文章有点长,耐心读完,你会有很大收获哦~  一.ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很

Yii2框架制作RESTful风格的API快速入门教程_php实例

先给大家说下什么是REST restful REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一. 他在论文中提到:"我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构.REST指的是一组架构约束条件和原则." 如

jQuery Easyui快速入门教程_jquery

1.什么是JQuery EasyUI jQuery EasyUI是一组基于JQuery的UI插件集合,而JQueryEasyUI的目标就是帮助开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的JavaScript,也不需要对css样式有深入的了解,开发者需要了解的只是一些简单的html标签. 2.学习jQuery EasyUI的条件 因为JQueryEasyUI是基于jQuery的UI库,所以,必须需要JQuery课程的基础. 3.JQuery EasyUI的特点 基于JQu

Laravel 5.3 表单实现 curd 快速入门教程

一.简介: 一个 Laravel 5.3 表单实现 curd 快速入门教程(Demo) 代码下载:https://github.com/yanlongma/laravel-curd 二.安装: 1. 连接数据库 修改 .env 配置文件 DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=root 2. 新建数据表 首先创建一个数据库 laravel

Vue.js快速入门教程_javascript技巧

像AngularJS这种前端框架可以让我们非常方便地开发出强大的单页应用,然而有时候Angular这种大型框架对于我们的项目来说过于庞大,很多功能不一定会用到.这时候我们就需要评估一下使用它的必要性了.如果我们仅仅需要在一个简单的网页里添加屈指可数的几个功能,那么用Angular就太麻烦了,必要的安装.配置.编写路由和设计控制器等等工作显得过于繁琐. 这时候我们需要一个更加轻量级的解决方案.Vue.js就是一个不错的选择.Vue.js是一个专注于视图模型(ViewModal)的框架.视图模型是U

Java的JNI快速入门教程(推荐)_java

1. JNI简介 JNI是Java Native Interface的英文缩写,意为Java本地接口. 问题来源:由于Java编写底层的应用较难实现,在一些实时性要求非常高的部分Java较难胜任(实时性要求高的地方目前还未涉及,实时性这类话题有待考究). 解决办法:Java使用JNI可以调用现有的本地库(C/C++开发任何和系统相关的程序和类库),极大地灵活Java的开发. 2. JNI快速学习教程 2.1 问题: 使用JNI写一段代码,实现string_Java_Test_helloworld

Yii2框架制作RESTful风格的API快速入门教程

先给大家说下什么是REST restful REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一. 他在论文中提到:"我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构.REST指的是一组架构约束条件和原则." 如

数据库快速入门教程--视频

数据库快速入门教程--视频 下载地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240579 本课程是这个课程体系的核心之一,为软件开发人员所需数据库知识的学习教材,而不是培训一个DBA(数据库管理员),更具体的说是为Web开发程序员所需数据库知识的学习教材.基于培养程序员的目标,本课程对数据库和SQL语句的相关知识进行了深刻地阐明和分析,学习的重点是标准SQL语句的学习的掌握.常用数据库MySQL

NetBeans NetBeans 平台 6.8快速入门教程

NetBeans 平台的主要优点是其模块化体系结构.其他优点还有 NetBeans 平台所依赖的 Swing UI 工 具包(使用 Java 创建用户界面的正式工具包)以及 NetBeans IDE 屡获殊荣的 "Matisse" GUI 生成器 . 在本快速入门教程中,我们将通过一个非常简单的示例向您介绍模块化的优点和使用情况,此示例由 目前就读于奥地利林茨市 Johannes Kepler 大学的博士生 Thomas Würthinger 提供.在了解本快速入门 教程中所介绍的概念