GitHub 及 GitHub Desktop 详细使用教程(通俗易懂)

目录

Δ前言

一、Github教程

        1.什么是Github?

        2.仓库和对仓库的操作:

                2.1 Repository(仓库)

                2.2 Fork(派生)

                2.3 Star(收藏)

                2.4 Watch(追番)

                2.5 Issue(问题)

                2.6 Pull Request(引出请求)

                2.7 Projects(项目板)

        3.图文演示:

        4.怎么在Github上找项目:

                4.1 根据项目名称的特点查找

                4.2 根据项目的Star数据查找

                4.3 根据项目的Fork数据查找

                4.4 根据项目的最近更新时间查找

                4.5 根据项目所使用的编程语言查找

二、GitHub Desktop教程

        1.什么是Github Desktop?

        2.利用GitHub Desktop创建新仓库:

        3.从Github网站上克隆已有的仓库:

        4.将本地仓库的修改PUSH到Github:

Δ总结


Δ前言

  • 学习Git之前,很有必要先了解一下Github GitHub Desktop的使用教程。
  • 注意事项——①代码中的注释也很重要;不要眼高手低,自己跟着过一遍才真正有收获;点击文章的侧边栏目录或者文章开头的目录可以进行跳转。
  • 良工不示人以朴,up所有文章都会适时补充完善。大家如果有问题都可以在评论区进行交流或者私信up。感谢阅读!

一、Github教程

        1.什么是Github?

        GitHub是一个在线软件源代码托管服务平台,用于公开程序或软件的代码,并使用Git作为版本控制软件——From Wikipedia。说是代码托管平台,其实只要你想,各种类型的文件都可以上传到Github,并且可以决定它们是否被其他人可见;同样地,你也可以在Github上浏览和操作其他用户上传的文件(如果这些文件可见的话)。

        2.仓库和对仓库的操作:

                2.1 Repository(仓库)

        Github以“仓库”为基本单位进行代码托管,一个仓库包含了该项目的所有文件、版本历史和协作信息。所有的文件都必须存放在仓库中,也就是说,不管你要在Github上存放什么东西,首先必须有一个地方去放这些东西,这个地方就是Repository(仓库)。

        项目和仓库是一一对应的,但文件和仓库并不是一一对应的,一个项目会有许多文件,实现功能相同或相似的文件往往存放在同一个仓库,但毫无相关的不同文件也可以放在同一个仓库,亦或存放在不同的仓库,完全由业务需求来决定,很灵活。值得一提的是,不同的仓库均可设置为public(可见)或者private(不可见)两种状态,当你将你的一个仓库设置为public时,我们就称“你在Github上开源了一个项目”。

        如果是刚刚创建Github账户,Github默认不会为你创建仓库,所以我们需要先创建一个仓库,才能向Github上传文件(上传到指定的仓库),其中“上传文件”这一操作,称为“PUSH”,可以理解为将文件推送到了仓库中,下文中up会进行创建仓库和推送文件的演示。 

                2.2 Fork(派生)

        作为全球最大的代码托管平台,Github上开源的好项目自然是少不了(下文中up会演示如何找项目),有时候看来看去难免就眼馋(bushi,这时候你就可以“Fork”一个你喜欢的项目到你自己的账户中。一个项目的forks的数量在一定程度上可以反映出这个项目的火热程度。

        Fork功能在GitHub上用于将别人开源的项目派生一个副本到你的账户。你可以自由地修改、实验和开发派生出来的仓库,而不会影响原始项目。Fork后的仓库独立存在,并且,你可以提交更改,并通过Pull Request请求将这些更改合并回原始仓库。

        同样地,别人也可以Fork你开源的项目,这样他的Github主页上便会多出一个基于你的项目的项目,他可以在此基础上自由地修改、实验和开发这个项目,而不会对你原来的项目造成任何影响。 当然,如果后续你修改了原来的项目,那么他需要自己去做同步处理。

                2.3 Star(收藏)

        不同于知乎,B站,X等我们熟悉的社交媒体平台,Github上并没有提供“点赞”的功能,但是提供了“收藏”的功能,就是我们的“Star”。通过“Star”一个开源项目,你可以——

  1. 表达对该项目的喜爱或认可(这是收藏功能的应有之义)。
  2. 将项目添加到你的收藏列表,方便日后查找(这是我们平时在各大平台使用收藏功能的出发点和落脚点)。
  3. 帮助项目获得更多关注,因为加星数越多,项目的受欢迎程度就越高(这是收藏功能的本质要求)。

                2.4 Watch(追番)

        追番后,番剧有什么新的更新动态都会第一时间通知提醒你。同样地,如果你“Watch”了一个项目,那只要这个项目有任何更新,都会第一时间通知提醒你;比如别人提交了一个Pull Request,或者发出了Issue等等,你都会在通知中心接收到相关通知。

                2.5 Issue(问题)

        你能保证你开源的项目天衣无缝,完美无瑕,挑不出一点毛病吗?别扯了,是个项目就有优化的空间。别人也一样,偶尔开源的项目出点小猫小饼的都很正常。如果你在浏览别人的项目时发现一些小猫饼,并且你还没能力解决,或者别人开源的项目中有一些你看不懂的地方,你就可以通过在它的项目中“Submit new issue”(提交一个新的问题),接着等待管理者的解答。

        同样地,别人如果发现了你代码中的小bug,或者其他一些做的不够好的地方,也可以向你提出一个Issue,然后你看到这些Issues后就可以去逐个解决、修复、更新和完善。总结,Issue类似于“留言”的功能

                问题的发出者或者回答者其中一方可以选择Close issue(关闭问题),表示该问题已经🆗了。

                2.6 Pull Request(引出请求)

        “Pull Request”建立在“Fork”的基础上,它用于提交代码更改请求。它的作用是:

  1. 提交更改:当你在一个分支上完成修改后,可以通过Pull Request(简称PR)请求将这些更改合并到主分支
  2. 代码审查:团队成员可以查看、评论和讨论你的更改,确保代码质量。
  3. 协作:提供一个平台来讨论修改,解决冲突,并在合并前进行必要的调整。
  4. 记录历史:所有讨论和更改记录都保存在Pull Request中,方便日后查阅。

                2.7 Projects(项目板)

        Projects,即项目板,包括议题、拉取请求和注释,在选择的列中分类为卡片且不同列中的卡片可以重新排序。它的作用是——

  1. 帮助组织工作和排列工作的优先级。
  2. 灵活地创建适合需求的工作流程。

        3.图文演示:

                我这个演示默认你已经注册了一个Github账户,“注册”流程就不用我演示了吧,宝宝题(,这里up只提醒大家一点——注意选好邮箱(不推荐用QQ邮箱)。
                首先我们在Repositories页面,选择“New”,以准备创建新仓库,如下图所示:

                进入创建仓库的页面后,要注意一下几个信息:

                特别说明,如果你想在Github上发布一个静态网页,仓库名必须命名为“username.github.io”,这是甲鱼的屁股——龟腚(规定)。
                好,继续,确定一些细节选项,如下图所示:

                刚刚创建后的仓库,除了README.md文件外一无所有(如果你在创建仓库时勾选了这个选项的话),这时候我们可以通过“Upload files”功能来上传文件,如下图所示:

                "Upload files"界面如下:(可以将需要上传的文件拖到文件接收区)

                注意,每一次提交的记录都将保存在Repository中,所以你需要为每次提交给出名字和说明,方便以后查看,如下图所示:

                接着,点击Commit changes,完成“提交”的操作,即可看到“高等数学.xmind”已经出现在仓库中,如下所示:

                另外,在Commits中,我们可以看到这次提交的具体说明,如下图所示:

                下载后可以看到思维导图正常显示,如下:(备注:数学二)

        4.怎么在Github上找项目:

                4.1 根据项目名称的特点查找

                在搜索框中,我们可以通过“in:name xxx”来轻松找到项目名中含有“xxx”字样的项目,比方说我要找一个SSM的项目,我就可以通过"in:name SSM"来查找,如下图所示:(PS: 类似的还有in:readme xxx,表示查找README.md文件中含有"xxx"字样的项目;以及in:description xxx,表示查找项目描述中含有"xxx"字样的项目)

                可以看到,通过in:name SSM找到项目中,项目名都包含“SSM”。

                4.2 根据项目的Star数据查找

                上面我们仅仅根据仓库名查找,出来三万多条查找结果,我们当然想着要优中择优,而Star的数量和项目的质量成正相关。我们可以通过"stars:>number"来查找stars的数量超过number的仓库。如下所示:

                可以看到,我们在仓库名包含"SSM"的基础上,搜索stars大于1000的仓库,三万多条记录直接变成了七条,可见star的数据在Github上的含金量。

                4.3 根据项目的Fork数据查找

                尽管stars大于1000已经是来之不易,但是我还要继续优中择优,希望在此基础上查找forsk大于800的仓库,可以通过"forks:>number"来查找forks的数量超过number的仓库。如下所示:

                4.4 根据项目的最近更新时间查找

                尽管stars大于1000且forsk大于800已经是来之不易,但是我还要继续优中择优,希望找到2024年仍然有过更新的项目。通过"pushed:>xxxx-xx-xx",可以查找到最近提交时间大于指定时间的项目。如下所示:

                不是哥们,一个都没,SSM真的被时代抛弃了吗?😭(bushi

                4.5 根据项目所使用的编程语言查找

                通过"language:xxx"来查找编程语言为xxx的项目,如下所示:

                PS : 更多高级查找方式,见Github官方介绍——https://github.com/search/advanced


二、GitHub Desktop教程

        1.什么是Github Desktop?

        GitHub Desktop 是一个由 GitHub 开发的图形化界面应用程序,旨在简化 Git 和 GitHub 的使用。它为用户提供了一个直观的方式来管理代码仓库,而无需使用命令行。

        2.利用GitHub Desktop创建新仓库:

                同上文Github教程一样,up默认你已经下载好了Github Desktop,并且已经关联好了自己的Github账号(鼠标点点就完事儿了)。所以up就直接开始演示了。
                通过File-->New repository...,可以在Github Desktop上创建新的仓库,如下图所示:

                创建过程和在Github网站上基本一致,如下:

                注意,这个时候如果我们去看自己的Github会发现根本没有“Leetcode-Buster”这个仓库,因为它只是创建在了本地,你还需要将他发布到Github,如下图所示:

                发布后,再去Github网站上查看自己的仓库,会发现多了一个“Leetcode-Buster”,如下所示:

        3.从Github网站上克隆已有的仓库:

                在上文“Github--->图文演示”中,我们创建了一个“Mind-Map-Collection”仓库,但是这个仓库并不在本地,Github Desktop允许我们一键将仓库克隆到本地,如下所示:

                选择File-->Clone repository...即可进行克隆,如下所示:

                接着,我们便得到了克隆的仓库,包括该仓库详细的提交历史,如下图所示:

        4.将本地仓库的修改PUSH到Github:

                之前创建的“Mind-Map-Collection”仓库中目前只有“高等数学.xmind”一个文件,我们当然可以在Github上通过“Upload files”功能来上传文件,但这次我们试试用GitHub Desktop,先将新的文件Commit到本地仓库,再从本地仓库PUSH到Github上

                现在up准备了“408提纲.xmind”这么一个思维导图,如下图所示:

                现在up把这个文件,放到对应的本地仓库(即up刚刚才从Github上克隆过来的本地仓库),如下所示:

                这时候,GitHub Desktop会立刻检测到仓库文件的变换,如下图所示:

                接着,我们通过Commit提交到本地仓库,如下:

                这还没玩,这只是本地仓库确认了“408提纲.xmind”这个新文件的加入,但是你还要把它PUSH到Github网站上,如下图所示:

                PUSH之后,我们再去Github网站上访问“Mind-Map-Collection”仓库,就会发现多了“408提纲.xmind”文件,如下图所示:


Δ总结

  • 🆗,以上就是“GitHub 及 GitHub Desktop 详细使用教程”一文的全部内容了,感谢阅读!
  • 博文中呈现的内容其实只是Github的冰山一角,Github非常强大,也非常迷人,未来up也会把Github更多好用且好玩的地方分享给大家,并不断完善这篇博文。
  • 另外对于“Github Desktop”的使用演示,up也只是列举了一些最基本的使用,之后也会适时地更新一些其他功能的演示。

        System.out.println("END--------------------------------------------------");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501023.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenLinkSaas使用手册-待办事项和通知中心

在OpenLinkSaas工作台上,你可以查看待办事项和未读通知。 待办事项 目前待办事项支持: 个人待办项目待办:在项目中指派给你的任务/缺陷Git待办:在Git仓库中指标给你的Issue,目前只有在AtomGit和Gitee账号登录时才支持。 通知中心 通知中心支持Git通知和邮件通知两种…

springboot集成阿里云短信服务

springboot集成阿里云短信服务 一.阿里云账号准备 流程:注册阿里云账号>短信服务>新增资质>新建签名>新建模版>申请秘钥>用代码测试 1.注册阿里云账号 2、登录成功后, ① 在首页搜索短信服务 ② 打开第一个搜索结果 ③ 免费开通 ④ 可以根据…

试题转excel;word转excel;大风车excel(1.1更新)

最近更新了大风车excel1.1版本 主要优化在算法层面: 1.0版本试题解析的成功率为95%,现在1.1版本已经优化到解析成功率为99% 一、问题描述 一名教师朋友,偶尔会需要整理一些高质量的题目到excel中 以往都是手动复制搬运,几百道…

python实现自动登录12306抢票 -- selenium

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 python实现自动登录12306抢票 -- selenium 前言其实网上也出现了很多12306的代码,但是都不是最新的,我也是从网上找别人的帖子,看B站视频&…

机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型

机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型 目录 机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型1 过拟合和欠拟合1.1 过拟合1.2 欠拟合 2 正则化惩罚2.1 概念2.2 函数2.3 正则化种类 3 K折交叉验证3.1 概念3.2 图片理解3.3 函数导入3.4 参数理解 4 训练模型K折交…

文件本地和OSS上传

这里写目录标题 前端传出文件后端本地存储阿里云OSS存储上传Demo实现上传ConfigurationProperties 前端传出文件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>上传文件</title> </head&g…

《Vue3实战教程》37:Vue3生产部署

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 生产部署​ 开发环境 vs. 生产环境​ 在开发过程中&#xff0c;Vue 提供了许多功能来提升开发体验&#xff1a; 对常见错误和隐患的警告对组件 props / 自定义事件的校验响应性调试钩子开发工具集成 然而&#xff…

python制作打字小游戏

import pygame # 导入游戏模块 安装pygame import sys # 导入系统指令模块 import random # 导入随机数模块 pygame.init() #初始化游戏环境 wndpygame.display.set_mode((800,565)) #指定窗口大小 pygame.mixer.music.load(素材/SurvivalGame.mp3) #素…

抖音短视频矩阵系统源码开发全流程解析

在项目开发过程中&#xff0c;调整配置文件至关重要&#xff0c;这些文件包括数据库连接、API密钥及全局参数等。通过正确配置这些信息&#xff0c;可确保应用程序的稳定性和安全性。灵活调整配置以适应具体需求有助于短视频矩阵系统项目的顺利推进。 在开发环境中&#xff0c…

前端路由layout布局处理以及菜单交互(三)

上篇介绍了前端项目部署以及基本依赖的应用&#xff0c;这次主要对于路由以及布局进行模块化处理 一、 创建layout模块 1、新建src/layout/index.vue <template><el-container class"common-layout"><!-- <el-aside class"aside">&l…

戴尔/Dell 电脑按什么快捷键可以进入 Bios 设置界面?

BIOS&#xff08;基本输入输出系统&#xff09;是计算机硬件与操作系统之间的桥梁&#xff0c;它负责初始化和测试系统硬件组件&#xff0c;并加载启动操作系统。在某些情况下&#xff0c;如调整启动顺序、更改系统时间或日期、修改硬件配置等&#xff0c;您可能需要进入BIOS进…

《从入门到精通:蓝桥杯编程大赛知识点全攻略》(一)-递归实现指数型枚举、递归实现排列型枚举

本篇博客将聚焦于通过递归来实现两种经典的枚举方法&#xff1a;指数型枚举和排列型枚举。这两种枚举方式在计算机科学和算法竞赛中都有广泛应用&#xff0c;无论是在解题中&#xff0c;还是在实际工作中都极具价值。 目录 前言 斐波那契数列递归 递归实现指数型枚举 算法思…

idea 的 springboot项目spring-boot-devtools 自动编译 配置热部署

1&#xff0c;设置一 2&#xff0c;设置二 设置二&#xff08;旧版本&#xff09; CtrlShiftAlt/ 点击弹出框中Registry... 引入&#xff08;如果报错&#xff0c;换不同的版本&#xff09; <dependency><groupId>org.springframework.boot</groupId><a…

低代码开发:开启企业数智化转型“快捷键”

一、低代码开发浪潮来袭&#xff0c;企业转型正当时 在当今数字化飞速发展的时代&#xff0c;低代码开发已如汹涌浪潮&#xff0c;席卷全球。从国际市场来看&#xff0c;诸多企业巨头纷纷布局低代码领域&#xff0c;像微软的 PowerApps、OutSystems 等平台&#xff0c;凭借强大…

C#二维数组详解

目录 1&#xff0c;什么是二维数组&#xff1f; 2&#xff0c;创建二维数组的几种方式 &#xff08;1&#xff09;使用[,]声明数组&#xff08;常见方式&#xff09; &#xff08;2&#xff09;声明数组时指定元素 &#xff08;3&#xff09;使用new创建数组 &#xff08;…

STM32--超声波模块(HC—SR04)(标准库+HAL库)

一、HC-SR04工作原理 1&#xff09;采用IO触发测距&#xff0c;给至少10us的高电平信号。 2&#xff09;模块自动发送8个40KHz的方波&#xff0c;自动检测是否有信号返回。 3&#xff09;有信号返回&#xff0c;通过IO输出一高电平&#xff0c;高电平持续时间就是超声波从发…

DDD(一)—— Authentication with JWT

文章目录 项目地址一、项目结构梳理1.1 Domain层1.1.1 Entities文件夹1.2 Contracts层1.2.1 Authentication文件夹1.3 Appliaction层1.3.1Common文件夹1. Interfaces文件夹Authentication 权限接口Persistence 数据库接口Services 常用服务接口1.3.2 Services文件夹1. Authenti…

GPU 进阶笔记(一):高性能 GPU 服务器硬件拓扑与集群组网

记录一些平时接触到的 GPU 知识。由于是笔记而非教程&#xff0c;因此内容不求连贯&#xff0c;有基础的同学可作查漏补缺之用 1 术语与基础 1.1 PCIe 交换芯片1.2 NVLink 定义演进&#xff1a;1/2/3/4 代监控1.3 NVSwitch1.4 NVLink Switch1.5 HBM (High Bandwidth Memory) 由…

自由学习记录(31)

Java连接MySQL 找到那个关键jar包然后导入选中&#xff0c;就配置好MySQL的JDBC&#xff08;Java Database Connectivity&#xff09;了 菜单--文件--项目结构 项目设置--模块--选择要附着的项目--选择依赖--选中模块源--选中加号添加jar包 解压之后在里面可以看到这个最关键…

第十四届蓝桥杯Scratch省赛中级组—智能计价器

智能计价器 背景信息&#xff1a; A城市的出租车计价&#xff1a;3公里以内13元&#xff0c;基本单价每公里2.3元(超过3公里的部分&#xff0c;不满1公里按照1公里收费&#xff09;&#xff0c;燃油附加费每运次1元。 例如&#xff1a; 3.2公里的打车费用&#xff1a;132.3…