两小时学会Git玩转Github

1. 了解Git和Github

1.1什么是Git

Git是一个免费、开源的版本控制软件

1.2什么是版本控制系统

版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况得系统。

Ø  系统具体功能

记录文件的所有历史变化

随时可恢复到任何一个历史状态

多人协作开发或修改

错误恢复

1.3什么是Github

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

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

1.4Github和Git是什么关系

Git是版本控制软件

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

1.5为什么学习github

学习优秀的开源项目

关注行业前辈了解最新的行业动态

如:

PHP 鸟哥,前新浪总架构师 https://github.com/laruence

国内最流行的PHP开发框架(thinkphp):https://github.com/top-think/thinkphp

全球最流行的PHP框架(laravel):https://github.com/laravel/laravel

PHP编码规范(FIG-PHP):https://www.gitbook.com/book/jifei/php-fig-standards/details

2. 使用Github

2.1目的

借助github托管项目代码

2.2基本概念

仓库(Repository)

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

收藏(Star)

收藏项目,方便下次查看

复制克隆项目(Fork)

脚下留心:该fork的项目时独立存在的

发起请求(Pull Request)

关注(Watch)

关注项目,当项目更新可以接收到通知

事务卡片(Issue)

发现代码BUG,但是目前没有成型代码,需要讨论时用;

Github主页

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

仓库主页

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

个人主页

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


2.3注册github账号

官方网址

github.com

脚下留心

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

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

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


2.4创建仓库/创建新项目

说明

一个git库(仓库)对应一个开源项目

通过git管理git库

创建仓库

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

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

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

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

4)点击【verifyemail address】验证邮箱

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

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

仓库主页说明

脚下留心

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

︴未验证邮箱提示页面

 

︴设置QQ邮箱白名单

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

2、点击【反垃圾】

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

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


2.5仓库管理

新建文件

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

编辑文件

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

删除文件

︴思考被删除文件如何查看信息

答案:点击commits按钮查看

上传文件

搜索仓库文件

多学一招:快捷键(t)

下载/检出项目

2.6Github Issues

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

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

2.6基本概念(实战操作)

Github主页

个人主页

收藏(Star)

【如何收藏】

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

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

【如何查看自己得收藏】

关注(Watch)

情景:张三关注了李四的项目,李四添加项目文件,张三的github主页会有怎样的展示?

复制克隆项目(Fork)

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

︴验证:fork后的仓库是否单独存在

发起请求(Pull Request)

情景:张三修改了fork的项目中的文件,希望更新到原来的仓库,这时候他要新建一个pull request

1)Git1 发起一个更新请求

2.7开源项目贡献流程

1)新建Issue

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

2)Pull Request

步骤:

1、 fork项目

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

3、 新建 pull request

4、 等待作者操作审核

3. Git安装和使用

目的

通过git管理github托管项目代码

下载安装

1)GIt官网下载:https://www.git-scm.com/download/win

2)双击安装

3)选择安装的工作目录

4)选择组件

5)开始菜单目录名设置

6)选择使用命令行环境

7)以下三步默认,直接点击next

8)等待安装

9) 检验是否安装成功

4. Git基本工作流程

Git工作区域

向仓库中添加文件流程

5. Git初始化及仓库创建和操作

基本信息设置

1. 设置用户名

git config --global user.name 'itcastphpgit1'

2. 设置用户名邮箱

git config --global user.email '485434609@qq.com'

脚下留心:该设置在github仓库主页显示谁提交了该文件

初始化一个新的Git仓库

1、创建文件夹

2、在文件内初始化git(创建git仓库)

cd test

git init

向仓库添加文件

toucha1.php                         # 创建a1.php文件到工作目录

git adda1.php                      # 添加a1.php到暂存区

gitcommit -m  '第一次提交文件'     # 添加a1.php到仓库

修改仓库文件

删除仓库文件

6. Git管理远程仓库

使用远程仓库的目的

作用:备份,实现代码共享集中化管理

Git克隆操作      

目的

将远程仓库(github对应的项目)复制到本地

代码

gitclone 仓库地址

多学一招:仓库地址由来

将本地仓库同步到git远程仓库中

git push

︴思考:为什么无法同步

或没有权限

The requested URL returned error: 403Forbidden while accessing

答案:私有项目,没有权限,输入用户名密码,或者远程地址采用这种类型:

vi.git/config

# 将

[remote"origin"]

url = https://github.com/用户名/仓库名.git

修改为:

[remote"origin"]

url = https://用户名:密码@github.com/用户名/仓库名.git

6. GithubPages 搭建网站

个人站点

访问

https://用户名.github.io

搭建步骤

1) 创建个人站点   ->  新建仓库(注:仓库名必须是【用户名.github.io】)

2) 在仓库下新建index.html的文件即可

脚下留心

1、github pages仅支持静态网页

2、仓库里面是.html文件

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

ProjectPages 项目站点

访问

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

原理

gh-pages 用于构建和发布

搭建步骤

1)进入项目主页,点击settings

2)在settings页面,点击【Launch automatic page generator 】来自动生成主题页面

3)新建站点基础信息设置

4)选择主题

5)生成网页

git-两小时简单使用教程的更多相关文章

  1. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

  2. Git和Github简单教程(收藏)

    原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...

  3. 【git】git简单使用教程

    git的简单使用教程: 1.安装git bash客户端 2.打开git bash,cd到需要存储代码的路径下, 执行:git clone -b deploy ssh://git@gitlab.xxxx ...

  4. Git和Github简单教程【转】

    转自:https://www.cnblogs.com/schaepher/p/5561193.html#clone 原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但 ...

  5. 转:Git和Github简单教程

    转自:https://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程   原文链接:Git和Github简单教程 网络上关于Git和Gi ...

  6. GIT将本地项目上传到Github(两种简单、方便的方法)

    GIT将本地项目上传到Github(两种简单.方便的方法) 一.第一种方法: 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安 ...

  7. git与github的简单使用教程

    git与github的简单使用教程 一.创建仓库 点击new,进入创建仓库页面 对将要创建的仓库进行一些简单的设置 最后再点击create repository就可以了. 到这我们就创建好了一个仓库. ...

  8. git管理工具的使用教程

    Git入门教程 1.   概述     对于软件版本管理工具,为什么要选择Git?      你真正学会使用Git时, 你就会觉得这个问题的回答是非常自然的.然而当真正需要用文字来回答时,却觉得文字好 ...

  9. 从Git到GitHub,详细教程

    众所周知,一个稍微有点规模的项目,都不可能是一个人单打独斗完成的(能完成的大神别打我),所以,一个高效的项目团队就需要一个NB的工具来进行有效的交流(曾经有人问我企鹅不就可以吗,我竟无言以对),今天就 ...

随机推荐

  1. [cb]Unity 关卡编辑器 开发

    关卡编辑器 关卡编辑器插件开发日记 1. Apply to Prefab [替换Prefab] if (GUILayout.Button("Apply Collider To Prefab& ...

  2. Centos7.5.1804永久生效修改主机名

    原来主机名 [root@node1 ~]# 查看Centos的版本: [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Cor ...

  3. Redhat 下 XAMPP 安装和部署 DVWA 教程

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是 LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP 了.它可以在Windo ...

  4. 百度地图API开发

    1.首先申请百度地图秘钥 http://lbsyun.baidu.com/ 2.需要填一个申请的界面 3.申请后会有类似的东西 4.之后参照以下网址进行MFC编译 mfc webbrowser控件使用 ...

  5. 记录清除wnTKYg挖矿工木马(守护进程ddg.xxxx)的过程

    起因,阿里云多次提醒我的一台服务器有恶意发包行为,且给出了一些解决办法.之前也没太在意,就按照解决办法处理了一下.然后过一段时间,还是提示有此行为. 猜肯定是中了木马了,开始以为是被肉鸡了拿来做DDo ...

  6. Git解决冲突(本地共享仓库简单实践)

    1:可以使用git init --bare初始化一个本地共享仓库. 2:假设有A,B两个人进行合作开发,此时A,B可以使用git clone 共享仓库路径进行克隆.此时A,B的室友仓库代码是一致的. ...

  7. 【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS

    在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...

  8. Oracle 中的一些重要V$ 动态性能视图,系统视图和表

    v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter ...

  9. oracle 查询归档增长量

    set linesize 200set pagesize 100column day format a15 heading 'Day'column d_0 format a3 heading '00' ...

  10. MP实战系列(七)之集成springboot

    springboot是现在比较流行的微服使用的框架,springboot本质上就是将spring+springmvc+mybatis零配置化,基本上springboot的默认配置符合我们的开发.当然有 ...