简介

上一篇主要讲解的是Git安装及配置,这一篇就详细的从无到有的来用Git玩翻github。

一、什么是Github

Github是全球最大的社交编程及代码托管网站(https://github.com/)。

Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)

二、Github和Git是什么关系

Git是版本控制软件

Github是项目代码托管的平台,借助git来管理项目代码

1、 使用Github

目的:借助github托管项目代码

2、基本概念

a、仓库(Repository)

仓库的意思,即你的项目,你想在 GitHub 上开源一个项目,那就必须要新建一个 Repository ,如果你开源的项目多了,你就拥有了多个 Repositories 。

仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库。

b、收藏(Star)

仓库主页star按钮,意思为收藏项目的人数,收藏项目,方便下次查看,在 GitHub 上如果你有一个项目获得100个star都算很不容易了!

【如何收藏】

操作:打开对应项目主页,点击右上角  star 按钮即可收藏

情景:张三无意访问到李四的开源项目感觉不错并进行收藏

【如何查看自己得收藏】

c、复制项目(Fork)派生

这个不好翻译,如果实在要翻译我把他翻译成分叉,什么意思呢?你开源了一个项目,别人想在你这个项目的基础上做些改进,然后应用到自己的项目中,这个时候他就可以 Fork 你的项目(打开项目主页点击右上角的fork按钮即可),然后他的 GitHub 主页上就多了一个项目,只不过这个项目是基于你的项目基础(本质上是在原有项目的基础上新建了一个分支),他就可以随心所欲的去改进,但是丝毫不会影响原有项目的代码与结构。

注意:该fork的项目时独立存在的

比如:张三fork了李四的项目,相当于张三复制了李四的项目,所以自己也单独有了一个一样名称的仓库(注:该仓库会声明来自于李四,但是独立存在)

d、发起请求(Pull Request)

发起请求,这个其实是基于 Fork 的,还是上面那个例子,如果别人在你基础上做了改进,后来觉得改进的很不错,应该要把这些改进让更多的人收益,于是就想把自己的改进合并到原有项目里,这个时候他就可以发起一个 Pull Request(简称PR) ,原有项目创建人,也就是你,就可以收到这个请求,这个时候你会仔细review他的代码,并且测试觉得OK了,就会接受他的PR,这个时候他做的改进原有项目就会拥有了。

e、关注(Watch)

这个也好理解就是观察,如果你 Watch 了某个项目,那么以后只要这个项目有任何更新,你都会第一时间收到关于这个项目的通知提醒。

f、问题(Issue)

发现代码BUG,但是目前没有成型代码,需要讨论时用; 问题的意思,举个例子,就是你开源了一个项目,别人发现你的项目中有bug,或者哪些地方做的不够好,他就可以给你提个 Issue ,即问题,提的问题多了,也就是 Issues ,然后你看到了这些问题就可以去逐个修复,修复ok了就可以一个个的 Close 掉。

g、Github主页

账号创建成功或点击网址导航栏github图标都可进入github主页:该页左侧主要显示用户动态以及关注用户或关注仓库的动态;右侧显示所有的git库

h、仓库主页

仓库主页主要显示项目的信息,如:项目代码,版本,收藏/关注/fork情况等

i、个人主页

个人信息:头像,个人简介,关注我的人,我关注的人,我关注的git库,我的开源项目,我贡献的开源项目等信息

3、注册github账号

官方网址:https://github.com

注意:

a、因为github在国外服务器所以访问较慢或者无法访问,需要FQ(***)

b、私有仓库只能自己或者指定的朋友才有权限操作(私有仓库是收费的)

c、新注册的用户必须验证邮箱后才可以创建git库仓库

4、创建仓库/创建新项目

说明:一个git库(仓库)对应一个开源项目。通过git管理git库

a、创建仓库

1)点击【Start a project】创建一个仓库

2)问题:点击【Start a project】创建一个仓库,后出现该页面

2)原因:未验证邮箱,点击下图框框中的链接进行验证

3)点击【resend】发送邮件验证邮箱

4)点击【verify email address】验证邮箱

说明:验证成功后会自动跳转github主页,重新点击【Start a project】即可创建仓库

5) 验证邮箱后,点击【Start a project】进入下图界面

b、仓库主页说明

注意:qq邮箱需要设置白名单才可以收到邮件

设置QQ邮箱白名单

1、打开QQ邮箱、点击【设置】

2、点击【反垃圾】

3、点击【设置域名白名单】

4、在新页面的input框中输入【github.com】添加即可

5、仓库管理

a、新建文件:仓库主页,点击【create new file】创建仓库文件

b、编辑文件:仓库主页,点击【需要修改的文件】进入文件详情页

c、删除文件

d、被删除文件如何查看信息

答案:点击commits按钮查看

e、上传文件

f、搜索仓库文件:快捷键(t)

6、下载/检出项目

7、Github Issues

作用:发现代码BUG,但是目前没有成型代码,需要讨论时用;或者使用开源项目出现问题时使用

情景:张三发现李四开源git库,则发提交了一个issue;李四隔天登录在github主页看到通知并和张三交流,最后关闭issue

三、基本概念(实战操作)

1、Github主页

2、个人主页

四、开源项目贡献流程

1、新建Issue

提交使用问题或者建议或者想法

2、Pull Request

步骤:

a、 fork项目

b、 修改自己仓库的项目代码

c、 新建 pull request

d、 等待作者操作审核

五、下面就是惊喜:Github  Pages搭建网站

1、个人站点

访问:https://用户名.github.io

搭建步骤:

a、创建个人站点-》新建仓库(仓库名必须是【用户名.github.io】)

b、在仓库下新建index.html的文件即可

注意:a、Github Page仅支持静态页面

   b、仓库里面只能是.html文件

   c、个人主页也可以设置主题

2、Project Pages 项目站点

访问:https://用户名.github.io/仓库名

原理:gh-pages 用于构建和发布

搭建步骤

a、进入项目主页,点击settings

b、在settings页面,点击【Choose a theme 】来自动生成主题页面

c、新建站点基础信息设置

d、选择主题

e、发布网页(publish page)

六、小结

Clone和Fork的区别:

fork(派生):将别人的仓库复制一份到自己的仓库。
clone(克隆):将仓库克隆到自己本地电脑中。

Fork的主要应用场景:
1.在A的仓库中fork项目B (此时我们自己的github就有一个一模一样的仓库B,但是URL不同)
2.将我们修改的代码push到自己github中的仓库B中
3.pull request ,主人就会收到请求,并决定要不要接受你的代码

Git的使用 -- 用git玩翻github,结尾有惊喜!有惊喜!有惊喜!林妙妙看了说:牛呲呼啦带闪电 (三)(超详解)的更多相关文章

  1. 学会git玩转github,结尾有惊喜!有惊喜!有惊喜!

    一.什么是Github Github是全球最大的社交编程及代码托管网站(https://github.com/). Github可以托管各种git库,并提供一个web界面(用户名.github.io/ ...

  2. Git的使用--如何安装和使用 github,让小白不在那么白 (一)(超详解)

    简介 刚开始写了关于如何将本地代码上传到github上,但是有些小伙伴们不清楚如何安装Git,这一篇就给小伙伴们普及一下Git的安装和使用.适合刚开始用git的小白,大神或者大佬请绕道. 实际项目开发 ...

  3. Github隐藏使用技巧(超详解)

    目录 github使用说明 查看别人的主页和项目 上传自己的项目 使用git下载github上的文件 使用git实现代码管理 使用git恢复被修改的文件 更多关于git使用小技巧 github使用说明 ...

  4. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

  5. 学习 Git 玩转 GitHub

    原文地址:学习 Git 玩转 GitHub 博客地址:http://www.extlight.com 一.基本了解 1.1 什么是版本控制系统 版本控制系统是一种记录一个或若干个文件内容变化,以便将来 ...

  6. 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 ...

  7. 学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳 ...

  8. 学会Git玩转Github

    1. 了解Git和Github 1.1 什么是Git Git是一个免费.开源的版本控制软件 1.2 什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况得系统. ...

  9. 学会Git玩转Github笔记(二)——Git使用

    一.Git基本工作流程 Git工作区域 向仓库中添加文件流程 二. Git初始化及仓库创建和操作 基本信息设置 . 设置用户名 git config --global user.name 'itcas ...

随机推荐

  1. (转)iOS开发之Pch预编译文件的创建

    本文转自 http://www.cnblogs.com/496668219long/p/4568265.html 在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹 ...

  2. inode结构体

    inode分为内存中的inode和文件系统中的inode,为了避免混淆,我们称前者为VFS inode, 而后者以EXT2为代表,我们称为Ext2 inod.这里说明的是VFS inode. 重要成员 ...

  3. pandas中Timestamp类用法讲解

    由于网上关于Timestamp类的资料比较少,而且官网上面介绍的很模糊,本文只是对如何创建Timestamp类对象进行简要介绍,详情请读者自行查阅文档. 以下有两种方式可以创建一个Timestamp对 ...

  4. 【02】markdown在线编辑器

    [01]在线编辑器 https://www.zybuluo.com/mdeditor 在线 Markdown 编辑阅读器 pen - 是一个Markdown编辑器工具.demo 你可以试试这个在线的m ...

  5. MongoDB的正确使用姿势

    本文来自网易云社区,转载务必请注明出处. MongoDB是一个非常有前途的数据库,MongoDB官方对自己的定位是通用数据库,其实这个定位跟MySQL有些像.虽其流行度还远未达到MySQL的水平,但笔 ...

  6. vue 判断属性是否为object

    //递归对象 var recursiveObject = Vue.extend({ name: 'recursive-object', template:[ '<ul>', '<li ...

  7. zoj 2176 Speed Limit

    Speed Limit Time Limit: 2 Seconds      Memory Limit: 65536 KB Bill and Ted are taking a road trip. B ...

  8. zoj2112 主席树动态第k大 (主席树&&树状数组)

    Dynamic Rankings Time Limit: 10 Seconds      Memory Limit: 32768 KB The Company Dynamic Rankings has ...

  9. Python之FTP传输

    访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类,如下(PS:此段有问题,别复制使用,可以参考去试验自己的ftp类! ...

  10. 【luogu】P1772物流运输(最短路+DP)

    题目链接 对于本题我们设ext[i][j]计算第i个码头在前j天总共有几天不能用(其实就一前缀和),设dis[i][j]是从第i天到第j天不变运输路线的最短路径,设f[i]是前i天运输货物的最小花费. ...