版权声明:原创不易,本文禁止抄袭、转载,侵权必究!

本次教程建议一边阅读一边用电脑实操

目录

    一、了解Git和Github

      • 1.1 什么是Git

      • 1.2 什么是版本控制系统

      • 1.3 什么是Github

      • 1.4 Github和Git是什么关系

      • 1.5 为什么学习github

    二、使用Github

      • 2.1 目的

      • 2.2 基本概念

      • 2.3 注册github账号

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

      • 2.5 仓库管理

      • 2.6 基本概念(实战操作)

      • 2.7 开源项目贡献流程

    三、Git安装和使用

      • 3.1 目的

      • 3.2 下载安装

      • 3.3 Git基本工作流程

      • 3.4 Git初始化及仓库创建和操作

      • 3.5 提交本地项目到远程

    四、Git管理远程仓库

      • 4.1 远程仓库使用目的

      • 4.2 Git克隆操作

      • 4.3 GithubPages 搭建网站

      • 4.4 公众号代码主题样式设置

    五、作者Info

coding-real mind writing-genuine heart

作者:Maker陈    本文字数:3.3k    阅读+实操时长≈1小时    

 

一、了解Git和Github

1.1 什么是Git

Git是一个免费、开源的分布式版本控制工具,与之相反的是Svn集中式版本控制工具

1.2 什么是版本控制系统

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

系统具体功能

  • 记录文件的所有历史变化

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

  • 多人协作开发或修改

  • 错误恢复

1.3 什么是Github

GitHub是全球最大的社交编程及代码托管网站(https://github.com),与之类似的还有GitLab、gitee;Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)

1.4 Github和Git是什么关系

Git是版本控制软件,Github是项目代码托管的平台,借助git来管理项目代码

1.5 为什么学习github

  • 学习优秀的开源项目
  • 关注行业了解最新的行业动态

  • 与软件开发团队进行项目合作

例如学习pygame项目 - 一个2d游戏开源引擎:

https://github.com/pygame


二、使用Github

2.1 目的

借助github托管项目代码

2.2 基本概念

仓库(Repository)

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

收藏(Star)

收藏项目,方便下次查看

复制克隆项目(Fork)

发起请求(Pull Request)

关注(Watch)

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

事务卡片(Issue)

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

Github主页

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

仓库主页

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

个人主页

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

2.3 注册github账号

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

注意:

  • 因为github在国外服务器所以访问较慢或者无法访问,需要FQ或vpn

  • 私有仓库只能自己或者指定的朋友才有权限操作(私有仓库是收费的),如公司的软件开发项目一般都是私有仓库

  • 新注册的用户必须验证邮箱后才可以创建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 仓库管理

新建文件

编辑文件

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

删除文件

查询修改文件的信息(包括上传、删除、修改等操作)

上传文件

搜索仓库文件

下载/检出项目

2.6 基本概念(实战操作)

GitHub主页

个人主页

点击【You profile】即可进入个人主页

收藏(Star)

点击star即可收藏,如下图:

如何查看自己得收藏,点击【 You stars】,即可进入收藏页面,如下图:

关注(Watch)

复制克隆项目(Fork)

发起请求(Pull Request)

你如果修改了fork的项目中的文件,希望更新到原来的仓库,这时候你要新建一个pull request

2.7 开源项目贡献流程

1)新建Issue:提交使用问题或者建议或者想法

2)Pull Request,步骤:

  • fork项目

  • 修改自己仓库的项目代码

  • 新建 pull request

  • 等待作者操作审核


三、Git安装和使用

3.1 目的

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

3.2 下载安装

以下三步默认,直接点击next,之后等待安装,检验一下安装成功与否:

3.3 Git基本工作流程

Git工作区域

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

基本信息设置

1 设置用户名
2 git config --global user.name 'you name'
3
4
5 设置用户名邮箱
6 git config --global user.email 'you email'

目的:可以在对github项目操作时显示是谁操作过此项目,便于软件开发流程

初始化一个新的Git仓库

1、创建文件夹

2. 进入该文件的根目录,单击右键,选择【Git Bash Here】,输入如下代码:

初始化成功会出现一个.git文件夹,如上图所示

向仓库添加文件并提交到暂存区

1 touch test.py                         # 创建test.py文件到工作目录
2
3 git add test.py # 添加test.py到暂存区(单个提交)
4
5 git commit -m '第一次提交文件' # 添加test.py到仓库

如果想把本地的所有文件放到暂存区,可输入如下命令:

1 git add .

查看修改状态

假如你修改了文件,包括增、删、改,需要查看一下修改过哪些文件,可输入如下命令:

1 git status

红色的部分表示你操作过哪些文件,而在上面我们增加了一个TXT文件

删除仓库文件

注意:增加、删除、修改文件等操作我们可不用命令执行,可以手动在本地操作然后把操作过程提交到远程(github/gitlab/gitee)就行,当然也可根据你自己的喜好来决定

3.5 提交本地项目到远程大致流程:

 1 git branch                  #查看当前所有分支
2 git branch -b 分支 #创建分支
3 git branch checkout 分支 #切换分支
4
5 git status #查看修改所有文件状态
6 git add ./[file] #增加指定修改文件或者所有文件到暂存区
7 git commit -m '备注提交目的' #提交目的备注
8 git pull origin master #拉取项目,这一步通常是别人也在同一分支进行操作时,要push必须先pull
9 git push origin master/[其他分支] #把暂存区的文件推送到远程仓库
10 git merge/rebase origin master #如果你需要把当前分支合并到master分支可执行此操作
11 git reset --hard 版本号 #当操作错误时回退至指定的版本

注意:github默认主分支是main,如果想修改成master,可先在右上角头像那里点击【Settings】,在点击【Repositories】,如下图所示:


四、Git管理远程仓库

4.1 远程仓库使用目的

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

4.2 Git克隆操作   

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

代码如下:

克隆仓库地址由来:

这上面有两种方式,https和ssh,一般克隆项目时采用的是https方式,要使用ssh连接必须要配置密钥,这样可实现无密连接,无需验证信息,即可实现本地与远程仓库的同步,这非常方便,我一般使用的是此种方式,会在后面教程中介绍,敬请期待

4.3 GithubPages 搭建网站

个人站点设计原则:https://用户名.github.io

搭建步骤

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

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

注意:

  • github pages仅支持静态网页

  • 仓库里面是.html文件

  • 个人主页也可以设置主题

4.4 公众号代码主题样式设置

推荐一个网站:http://md.aclickall.com

此网站可以给你的代码编辑框添加主题,支持Markdown语法,写完代码之后直接点复制就可以把代码连同样式主题一块复制到微信公众号里面了,更符合审美,当然你也可以用插件,不过本人觉得这样更方便,万一你是在别的电脑进行编辑,岂不是又要下载一遍插件。如下图,非常方便,只需点复制就行【注意:不要手动按快捷键Ctrl +C复制哦,要点击下图所示的复制按钮才能把主题样式复制成功】

复制之后,微信公众号代码主题样式如下所示:

腾讯官方给出的这个代码编辑样式确实有点丑了,哈哈哈,如下所示:

更多网络爬虫、算法、游戏开发、Web开发、数据分析、开源工具等请关注本人原创公众号【小鸿星空科技

阅读原文


五、作者Info

作者:南柯树下,Goal:让编程更有趣!

原创微信公众号:『小鸿星空科技』,专注于算法、爬虫,网站,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,定期分享技术博客!

版权声明:本文禁止抄袭、转载 ,侵权必究!


更多网络爬虫、算法、游戏开发、Web开发、数据分析、AI、开源工具等请关注本人原创公众号【小鸿星空科技】,期待你的关注,定期分享技术博客!


——  ——  ——  ——  —  END  ——  ——  ——  ——  ————

         欢迎扫码关注我的公众号

          小鸿星空科技

       

生活不止苟且,还有代码和远方!

1小时学会Git玩转GitHub的更多相关文章

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

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

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

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

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

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

  4. 学会Git玩转Github

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

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

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

  6. 学会Git玩转GitHub全

    我这个笔记是利用HTML5来写的,所以我现附上代码以及并上照片:  当下@future 2019/4/29 19:55:33 <!DOCTYPE html><html> < ...

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

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

  8. 学会Git玩转Github笔记(一)——Github基本概念 & 仓库管理

    一.github基本概念 使用目的:借助GitHub托管项目代码 1.仓库(Respository) 2.收藏(Star) 3.复制克隆项目(Fork) :分叉—你开源了一个项目,别人想在你这个项目基 ...

  9. 学会Git玩转Github笔记(三)—— Github Pages 搭建个人网站

    https://help.github.com/categories/github-pages-basics/ 一.个人站点 访问 https://用户名.github.io 搭建步骤 1) 创建个人 ...

随机推荐

  1. Spring Security 的注册登录流程

    Spring Security 的注册登录流程 数据库字段设计 主要数据库字段要有: 用户的 ID 用户名称 联系电话 登录密码(非明文) UserDTO对象 需要一个数据传输对象来将所有注册信息发送 ...

  2. Netty:Netty中的零拷贝(Zero Copy)

    零复制概念: " 零复制"描述了计算机操作,其中CPU不执行将数据从一个存储区复制到另一个存储区的任务.通过网络传输文件时,通常用于节省CPU周期和内存带宽. WIKI的定义中,我 ...

  3. 『学了就忘』Linux基础 — 10、VMware虚拟机中克隆的使用

    目录 1.什么是克隆 2.克隆的两种类型 (1)完整克隆 (2)链接克隆 3.克隆操作 步骤一:克隆虚拟机 步骤二:进行克隆导向 3.快照与克隆的区别 4.镜像的管理 快照和克隆是VMware中两个非 ...

  4. 理解前端blob和ArrayBuffer,前端接受文件损坏的问题

    1 downloadTemplate().then(res =>{ 2 3 const data = res.data 4 const url = window.URL.createObject ...

  5. HashSet的remove方法(一道面试题)

    1 public class CollectionTest { 2 3 @Test 4 public void test3(){ 5 HashSet set = new HashSet(); 6 Pe ...

  6. 04 | 函数扩展 | es6

    函数参数的默认值 基本用法 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x ...

  7. CSS基础-行快属性,hover

    CSS基础 1.行快属性 在css中有很多标签,分为行内标签,块标签,标签行内块标签,他们有着不同的属性.     块标签         div,ul,li,ol,h1~h6,p         可 ...

  8. RocketMQ架构原理解析(二):消息存储

    一.概述 由前文可知,RocketMQ有几个非常重要的概念: broker 服务端,负责存储.收发消息 producer 客户端1,负责产生消息 consumer 客服端2,负责消费消息 既然是消息队 ...

  9. Java设计模式之(二)——工厂模式

    1.什么是工厂模式 Define an interface for creating an object,but let subclasses decide which class toinstant ...

  10. Duboo整合SpringBoot超级详细例子(附源码)

    dubbo3.0整合SpringBoot例子 dubbo新版本(3.0以上)在相对于 dubbo 旧版本(2.5.2.6.2.7),有很多的不相同的地方. 官方文档也说了新版本的特性: https:/ ...