#什么是 Github ? 必需要放这张图了!!!
<img src="https://pic4.zhimg.com/7c9d3403bf922b1663f56975869c829b_b.png" data-rawwidth="600" data-rawheight="412" class="origin_image zh-lightbox-thumb" width="600" data-original="https://pic4.zhimg.com/7c9d3403bf922b1663f56975869c829b_r.png">(图片来源
Git 是由 Linux 之父 Linus Tovalds 为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。html
好吧,我相信看到这里你已经晕了,这也是我一开始看那些所谓经典教程的感觉。写这些教程的人都是几年以上的程序员呀,他们每每直接就告诉你全部命令的含义或者整个体系。
专家盲点(expert blind spot)就是对一个事物知道的越多,就愈加不记得“不知道这个事”的情形。
简单来讲,Git 是一个管理你的「代码的历史记录」的工具。
<img src="https://pic1.zhimg.com/c5325f74486d910a4068e54a152d32ac_b.jpg" data-rawwidth="214" data-rawheight="164" class="content_image" width="214">我不是程序员为何要学这个啊啊啊!又不要管理代码们!
我不是程序员为何要学这个啊啊啊!又不要管理代码们! 别急,虽然 github 学习门槛高,一会你就知道为何人人都应该会这个啦! ----------------------------学习步骤 ##注册安装 去官网注册一个帐号(这个你应该会,恩就不放连接了) 而后,下载一个GitHub Desktop mac客户端是最方便的啦!(命令行什么的真的是会愈来愈晕!先别管他们!) 假设33(珊姗就是我啦)、小四和你三我的一块儿写一本小说(澄清一下,并无黑任何人的意思,恩!),暂且叫作...《梦里花落爱吃土时代》 -- 图(脑补) -- (⊙v⊙)嗯!终于能够正式开始了!#step1:建立新项目 咱们三我的在不一样的城市要远程共同写一本书,要有一个漂亮的笔记本吧?
<img src="https://pic3.zhimg.com/fa17ad7322545d236198a206063f378e_b.png" data-rawwidth="895" data-rawheight="334" class="origin_image zh-lightbox-thumb" width="895" data-original="https://pic3.zhimg.com/fa17ad7322545d236198a206063f378e_r.png">
「repositories」就是你的笔记本们。你只需知道 Repository 是个放项目的地方就行。有时候会出现 Repositories,是多个 Repository 的意思。 **fork** 若是你不想新建一个笔记本,看到小四以前写过一个好到炸裂的文章,想把他的直接所有偷过来,修改修改就成你本身的文章了,这应该怎么办呢? github 还提供了一个很赞的功能叫作 fork ,你只须要点击这个神奇的按钮,就能够把他的「笔记本」变成你本身的啦!任意修改均可以哦~
<img src="https://pic4.zhimg.com/ed6d6fdc68fb300709095e8fa829997b_b.png" data-rawwidth="808" data-rawheight="201" class="origin_image zh-lightbox-thumb" width="808" data-original="https://pic4.zhimg.com/ed6d6fdc68fb300709095e8fa829997b_r.png">
#step2:把「笔记本」克隆到本地 「笔记本」在云端,你要把它摘下来放到本身的电脑上写小说才方便呀,在这里咱们叫「clone」是否是很形象?步骤如图:
<img src="https://pic4.zhimg.com/345025e3b5d537f52570674099110af3_b.png" data-rawwidth="838" data-rawheight="309" class="origin_image zh-lightbox-thumb" width="838" data-original="https://pic4.zhimg.com/345025e3b5d537f52570674099110af3_r.png">或者是直接去咱们的客户端
或者是直接去咱们的客户端
<img src="https://pic3.zhimg.com/c310968fe62435088824d9de6dbb8be6_b.png" data-rawwidth="1112" data-rawheight="773" class="origin_image zh-lightbox-thumb" width="1112" data-original="https://pic3.zhimg.com/c310968fe62435088824d9de6dbb8be6_r.png">
#step3:能够开始写做啦! 你的笔记本里已经自动有一个文档了,这个时候让咱们回到网页版[微笑脸] 你只须要在 web 端点开这个README.md能够开始在里面写你的小说了。
<img src="https://pic4.zhimg.com/5cff90f3bd0c653003c4d5e400bcc637_b.png" data-rawwidth="1024" data-rawheight="335" class="origin_image zh-lightbox-thumb" width="1024" data-original="https://pic4.zhimg.com/5cff90f3bd0c653003c4d5e400bcc637_r.png">或者直接点开刚刚 clone 到电脑上的文件夹直接在里面写。
或者直接点开刚刚 clone 到电脑上的文件夹直接在里面写。 ps:须要注意的是,文本支持 markdown 格式,能够先参考这个献给写做者的 Markdown 新手指南 。#step4:上传你写的小说 在本地写完以后你要上传到云端让我和小四都能看见你写出什么幺蛾子了吧? 回到客户端,你发现有变化!!!
<img src="https://pic4.zhimg.com/2e2d2a0da0662f65fb969ef8005ee01f_b.png" data-rawwidth="517" data-rawheight="542" class="origin_image zh-lightbox-thumb" width="517" data-original="https://pic4.zhimg.com/2e2d2a0da0662f65fb969ef8005ee01f_r.png">没错,在你头像旁边给你此次提交内容起一个名字,之后若是再次寻找的时候会很方便。而后点下面的 Commit to master,还有右上角的 Sync 就好啦!
没错,在你头像旁边给你此次提交内容起一个名字,之后若是再次寻找的时候会很方便。而后点下面的 Commit to master,还有右上角的 Sync 就好啦!#step5:回退到以前的版本 夜深人静的时候,我趁着大家都在睡觉把小说的结局偷偷地改为女主死掉了! 你醒来以为我这结局改的也太悲伤了,彻底不能接受!结局必需要和以前那样王子公主幸福的生活在一块儿的 happy ending! 问题又来了,怎么退回到我修改结局以前的 happy ending? 仍是刚刚那个客户端,选择History 而后点击小齿轮,选择潇洒地点 roll back to this commit! 你又回到happy ending的状态啦!!
<img src="https://pic4.zhimg.com/e2b413f0492377e847af67ea77b36c93_b.png" data-rawwidth="301" data-rawheight="223" class="content_image" width="301">
#step6: 小四写了一章华丽无比的番外,你要更新本地的小说和他写的保持一致怎么办? git pull
<img src="https://pic2.zhimg.com/f5c5c0b43d1f9f7ab27267fbcc16d9fd_b.png" data-rawwidth="279" data-rawheight="354" class="content_image" width="279">
----------- 好了,知道这些基本操做入门应该够了,咱们来回顾一下(不要嫌弃个人画工啊喂!)
<img src="https://pic4.zhimg.com/6c22d708def21094956b76bc7df2240b_b.png" data-rawwidth="800" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic4.zhimg.com/6c22d708def21094956b76bc7df2240b_r.png">
入门初期迅速获得一些正反馈对于学习一门新技能来讲实在是过重要了!尤为是编程这么炫酷的事情! 因此先不要管什么复杂的 issue 呀 wiki 呀乱七八糟的操做,按照上面的一步一步来,若是遇到什么问题 google 之,通常都会解决的。 有一个段子不就是说,当你遇到问题去找最高级的工程师,他们通常都会直接 google 吗?并且自带的帮助手册也是解决问题的好办法,好比你要新建一个 branch=》Create a new branch with git and manage branches · Kunena/Kunena-Forum Wiki · GitHub 这种遇到问题先本身尝试解决的小技巧,也是我自从学编程以来最大的收获。 ------------------------#除了写代码你还能够用 github 作什么? 回到文章开头,我又不是程序猿不用写代码玩这个干啥? 你有没有碰到过团队里几我的共同协做写一个文档的时候?或者说须要反复修改的东西?好比最简单的写论文,用 word 保存一个一个版本 e-mail 给 boss?下次再找上次修改了什么地方简直要死啊有木有!!! 相信你看了个人远程协做写小说的例子应该已经明白了, github 说白了就是一个「版本控制工具」。咱们所谓的「回退」到历史记录,随时查看更改了什么地方,利用这个功能能够作的事情简直太多啦! 就像 github 其中一位创始人[Chris](defunkt (Chris Wanstrath) · GitHub )也详细描述了[GitHub初创的来龙去脉](Startup Riot 2009 Keynote 路 GitHub ),他说道:
Do whatever you want.linux
因此不是程序猿能够用这个来作什么呢?一、写书 和 33 一块儿写小说的例子,还记得吧?几我的你一章我一章共同修改一本书,或是几个出版社的编辑对新书进行校对,利用这个神器就能够随时看到哪里出现了问题和更改。若是想本身写书的话 gitbook 也是不错的选择(又是一个坑。。)二、写文档神器 身为科研狗、产品狗、射鸡湿的你,是否是常常写文档?一个成熟的文档可能会有好几个版本,须要不断地迭代,而后不断提交给老板看哪里须要修改。在不一样版本间自如切换就要用到git branch和git rebase了。 想一想看,用 git 的分支管理不比拷贝粘贴更方便吗?三、健身 有个哥们为了激励本身健身把每日计划都放上去了,还能够邀请其余人一块儿来相互监督!(我才不会说我本身也开了一个呢哈哈哈)hoosin/EveryDaySport · GitHub 四、找男票 没错,看这个项目!利用众包的形式一块儿罗列男朋友条件的 list 而后试图本身开发出一个男票233333YixuanFranco/YourBoyfriend · GitHub 有人评论问我用这个找到男票了吗? 统一回复: 并!没!有!五、用GitHub搭建博客、我的网站或者公司官网
一个有本身域名的独立博客,是否是很帅?!git
GitHub自己提供免费的托管服务,又提供了贴心的 Pages 功能,能够绑定你本身的域名,免费、高效、不限流量,作一个我的页面绰绰有余。程序员
Jekyll 的教程和我本身的博客会稍后放出。。(先给本身挖个坑)github
六、用GitHub协做翻译 web
苹果官方发布的各类官方手册,好比最近开源的 Swift numbbbbb/the-swift-programming-language-in-chinese · GitHub 就是国内一个自发组织起来的团队,30多我的用9天时间即将翻译和校对工做所有完成,他们每人都还有本身的事情,上班、上线、创业,这么大的工做量在以往简直是不可能完成的任务!编程
七、项目管理 swift
GitHub最初是为了开发的管理而生,固然也就具有了项目管理的潜质,特别是与开发密切联系的项目中,它的优点尽显。好比这篇文章介绍了如何使用GitHub结合 Trello 等其它工具进行项目管理:使用GitHub进行团队合做 。固然,GitHub仍是很偏重开发的管理,通常的项目管理仍是适合使用 wortile 之类的产品。markdown
七、政府文件? 以前看到一个知乎回答说:日本政府把宪法放上去了,德国政府也作过相似的事:German Federal Law Now on GitHub。除了德日以外,英美在 GitHub 上也有不少公众服务:英国政府多达 10 页的项目目录:Government Digital Service · GitHub 其中不少是政府项目的源代码或者设计原则之类。芝加哥的公开地理信息:Forking your CityNew York Open City: City of New York 路 (原谅我找不到这个回答了,欢迎补充)八、科研项目及数据 较早的arXiv 、PLoS 以外,较有气象的能够推荐mendeley 、开放期刊目录 教育方面:
九、我的简历
GitHub上的代码没法造假,也容易经过你关注的项目来了解你的知识面的宽度与深度。如今愈来愈多知名公司活跃在GitHub,发布开源库并招募各种人才,例如:Facebook 、Twitter 、Yahoo ...网络
开始有了第三方网站提供基于GitHub的人才招聘服务,例如:
GitHire :经过它,能够找出你所在地区的程序员。
Gitalytics.com :经过它,能评估某位程序员在GitHub、LinkedIn、StackOverflow、hackernews等多个网站的影响力。
甚至专门有一个项目就是自动根据你的 GtiHub 公开项目建立我的简历:咱们可使用 Git 以及 GitHub 作哪些事情? - Kane Blueriver 的回答 十、设计资源库(重点来了!!!) 作 ppt 不知道到哪里去找高质量美图? 最近半年初入设计圈,收集了很多 bookmark 想在年末来一个总结。 因而本身建立了这个Design- Resource List 项目,旨在让更多的设计师找资源变得有章可循。 先更新一部分,大概还有200多个还没放过来。。(吐血) 因此,欢迎你们也推荐本身收藏的资源,加入这个项目并一块儿持续更新么么哒 :)timmy3131/design-resource · GitHub 十一、Explore · GitHub 更多好玩的内容等你本身发现哦你在 GitHub 上看到过的最有意思的项目是什么? - 调查类问题 -------------------------------------#更多高阶教程: 若是你已经不知足于上面的基础知识了,欢迎探索更高级的玩法! 一、GitCafe / Help 二、[git简明指南](git - the simple guide )墙裂推荐!漫画的形式很形象(恩我认可比我画的好看多了)
三、在线交互学习 github 的网站Learn Git Branching 这个也很好玩~
四、[GitHub自身的官方博客](The GitHub Blog · GitHub )
五、git-flow 备忘清单 入门书籍推荐: GitHub入门与实践 (豆瓣) 比较基础Pro Git (豆瓣) 更高级的教程,很全面! 对了对了,还有阳志平老师的两篇很是全面的旧文如何高效利用GitHub Git与Github入门资料
鼓励做者写出更好的文章