博客
关于我
GitHub/Git 使用
阅读量:235 次
发布时间:2019-03-01

本文共 3467 字,大约阅读时间需要 11 分钟。

目录


1、了解Git和Github

1.1、什么是Git

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

1.2、什么是版本控制系统

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

系统具体功能:

  1. 记录文件的所有历史变化;
  2. 随时可恢复到任何一个历史状态;
  3. 多人协作开发或修改;
  4. 错误恢复。

1.3、什么是Github

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

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

1.4、Github和Git是什么关系

Git是版本控制软件。

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

1.5、为什么学习github

学习优秀的开源项目;关注行业前辈了解最新的行业动态。

如:

  1. PHP 鸟哥,前新浪总架构师 https://github.com/laruence
  2. 国内最流行的PHP开发框架(thinkphp):https://github.com/top-think/thinkphp
  3. 全球最流行的PHP框架(laravel):https://github.com/laravel/laravel
  4. 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)

李四复制了张三的仓库,李四进行了修改,李四发出请求,张三收到李四的请求,张三查看李四的代码,张三觉得ok接受,就拥有了新改进的代码。

关注(Watch)

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

事务卡片(Issue)

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

Github 主页

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

仓库主页

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

个人主页

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

2.3、注册github账号

官方网址:

用户调查网站:

脚下留心

  1. 因为github在国外服务器所以访问较慢或者无法访问,需要翻墙(Shadowsocks)。
  2. 私有仓库只能自己或者指定的朋友才有权限操作(私有仓库是收费的)。
  3. 新注册的用户必须验证邮箱后才可以创建git库(仓库)。

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

说明

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

通过git管理git库

创建仓库

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

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

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

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

4)点击【verify email 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.6、Github 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官网下载:

2)双击安装

3)选择安装的工作目录

4)选择组件

5)开始菜单目录名设置

6)选择使用命令行环境

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

  

8)等待安装

9)检验是否安装成功

4. Git基本工作流程

4.1 Git工作区域

4.2 向仓库中添加文件流程

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

5.1 基本信息设置

1. 设置用户名

git config --global user.name 'itcastphpgit1'

2. 设置用户名邮箱

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

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

5.2、初始化一个新的Git仓库

1、创建文件夹

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

cd test    //cd 是change directory的意思,切换文件夹

git init

5.3、向仓库添加文件

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

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

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

ls:查看当前文件。

pwd:当前工作目录。
clear:清屏。

查看隐藏目录  ls -ah

5.4、修改仓库文件

5.5、删除仓库文件

  

6. Git管理远程仓库

6.1、使用远程仓库的目的

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

6.2、Git克隆操作

目的

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

代码

git clone 仓库地址

多学一招:仓库地址由来

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

git push

︴思考:为什么无法同步?

或没有权限

The requested URL returned error: 403 Forbidden while accessing

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

vi .git/config

# 将

[remote "origin"] 

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

修改为:

[remote "origin"]

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

7. Github Pages 搭建网站

7.1、个人站点

 

7.2、Project Pages 项目站点

 

 

转载地址:http://yvdv.baihongyu.com/

你可能感兴趣的文章
MySQL Join算法与调优白皮书(二)
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql skip-grant-tables_MySQL root用户忘记密码怎么办?修改密码方法:skip-grant-tables
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql sysbench测试安装及命令
查看>>
mysql Timestamp时间隔了8小时
查看>>