github入门

目录

  • 一 介绍
  • 二 基础
    • 2.1 github工作流
    • 2.2 Git
    • 2.3 其他
  • 三 github pages
    • 3.1 创建
  • 参考

一 介绍

GitHub是一个用于版本控制和协作的代码托管平台。能够让你和其他人在任何地方共同工作在同一个项目上。

二 基础

github有很多关键的概念,比如仓库(repositories)、分支(branches)、提交(commits)和pull requests等等。仓库就是存放项目的地方,其他的操作都在仓库中进行;仓库中会存在个主分支,含有可部署的项目,如果想开发新功能,需要创建其他分支,在其他分支中添加、提交代码。如果测试通过了,可以发起pull请求,请求主分支融合其他分支。这样,新功能就被开发出来了。

仓库分公有仓库和私有仓库,私有仓库可以限制别人访问,但要收费。

下面是详细介绍。

2.1 github工作流

假设已经创建了一个仓库(repository),存有一个叫做master的主分支(master branch)。首先,一条规则我们要准守:主分支的内容是可以部署的。即大致没有问题,可以直接使用。而当有了新想法,想像主分支添加新功能时,为了不违背准则,我们可以创建其他分支(create a branch)。这相当于创建了一个环境,你可以在里面修改实现你的任何想法,也不会对主分支造成影响。在其他分支中添加了新内容时,可以提交这些改变(add cmmits)。提交的时候可以添加描述信息,这相当于一个历史记录,当分支开发过程中发生错误时,可以回滚到某个历史时刻。在其他分支开发过程中,如果主分支发生了改变,其他分支还可以将改变引入到该分支中。其他分支开发结束后,可以发起pull request,请求合并到主分支。但是在合并之前,其他的开发人员都会看到你做出的改变,并开始与你讨论,然你再修改代码(discuss and review your code),又会出现提交(commits)的过程。一旦确定没有什么问题,就该最终部署项目进行最终测试(Deploy)了。如果确实是可部署的,那么此时可以合并(Merge)到主分支了。一旦合成,会将改变记录在历史中,别人可以看到该分支做出的改变。并且该分支可以被关闭了,因为此分支的开发已经结束了。

其工作流程可以用如下图示表示:
github入门_第1张图片

2.2 Git

Git是一种分布式版本控制系统(DVCS),用来记录团队合作中记录项目的改变的历史,协同团队高效的开发项目。而github就是基于git的,很多概念都源自于git。但git是命令行执行的,而github虽源于git,但却易于git,抽象了开发过程,通过图形界面展示了项目开发的过程。甚至在学习github时都不会学习git命令行的使用,我认为这是github最大的优点之一。

很多人在开发过程中,会使用git命令从远端仓库中将项目克隆(clone)到本地中,开发好一些功能后再push到远端仓库中。

这虽然需要使用命令行执行git命令,但是github提供了桌面版的应用简化了git的使用。

在这里我就不多介绍了,作为入门,我暂且止步于此。

2.3 其他

这里简略介绍下github其他功能,在github网站会碰到这些概念:

  • fork:如果想基于别人的项目开发属于自己的项目时,可以使用fork克隆整个仓库。与创建分支类似,但不同分支仍处于同一个仓库,没有重复的副本,只是通过一定手段表现得像是不同分支有差不多的同一副本;而fork是实实在在的克隆了整仓库。当然,当功能开发差不多时,也可以发起pull请求,两个仓库合并。
  • follow:跟随别人,就是关注别人的意思,它的一些活动会通知你。你关注的人会显示在following一栏中,关注你的人会显示在followers一栏中。
  • watch:关注仓库。一般作为仓库的开发者,会被仓库事件通知,其他人想同一时刻获知仓库发生的事情,可以通过watch按钮关注仓库。
  • star:收藏仓库。主要为了便于再次寻找该仓库,可以在star网页上找到收藏的仓库。
  • Explore:在这个页面中,可以寻找有趣的项目,github也会根据你的喜好(watch、star、follow等)推荐一些项目。
  • 等等等等。。

三 github pages

这是github提供的很有用处的服务,github pages是一个静态网站托管的服务,也就是拖放前端代码。这种静态网站可以作为个人博客、项目文档网站存在等等。但是该服务也有些限制,因此把github pages当做网盘使用的想法就行不通了。

github pages分为两种:

  • Project Pages sites:与特定项目有关,存在于仓库中的某个分支上,每个仓库仅此一份。常用于解释该项目的,或者整个项目就是为了开发这个静态网站。
  • User and Organization Pages sites:该网站和账户有关,每个账户仅此一个此类网站。个人账户可以用此作个人博客,组织可以用此作组织介绍等等。

3.1 创建

创建一个github pages很简单,如教程:https://pages.github.com/ 这里简易说一下。

github pages是以仓库为基础的,前端代码啥的都来自于仓库,修改网站也是在仓库中进行的。

User and Organization Pages sites

  1. 创建一个仓库,仓库名一定为username.github.io,用户名一定要写对!!否则不会被认作github pages。如下所示:
    github入门_第2张图片
  2. 仓库建立好了,然后在仓库中建立index.html网页。完成!!。。通过https://username.github.io就可以访问网站了。

Project Pages sites

  1. 首先有个仓库,仓库名不能project pages sites的网址一致,以防被当做该种类型网站。
  2. 打开仓库,找到setting->GitHub pages,此时处于未开启状态。
  3. 然后选择一个仓库作为前端代码来源:
    github入门_第3张图片
  4. 在对应位置,创建一个index.html文件,打开https://username.github.io/repositoryName就能访问该网站。

你也许会发现,与其手动写前端代码,使用Jekyll theme+Markdown可以轻松制作网页。是的,,但是在github中没有找到好的教程,因此没有深入了解。

但是如果实在想使用markdown的话,可以在https://dillinger.io/网站中将markdown转化为html文件,通过简单的修改就可以放到仓库中啦~~


github也提供了使用自己域名的功能,也许你在查看某个框架文档时,这个文档的网站就是托管在github上的,只是换了域名而已。

参考

github guide:最基本的指导
github help:最详细的文档
GitHub Learning Lab:貌似用来训练你的技能
github page:关于静态网站的


Categories / GitHub Pages Basics
Categories / Customizing GitHub Pages

你可能感兴趣的:(工具,github,入门)