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--------------------------------------------------");

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Shell-概述、脚本、变量、数值运算

概述 一、什么是shell 在 Linux 内核与用户之间的解释器程序 通常指 /bin/bash负责向内核翻译及传达用户/程序指令相当于操作系统的“外壳” 二、shell的使用方式 交互式 —— 命令行 ---人工干预、智能化程度高 ---逐条解释执行、效率低 非交互式 —— 脚本 ---需要提前…

刷机TP TP-Link-WDR5660【持续更新】

上文中简单介绍了:路由器刷机TP-Link tp-link-WDR5660 路由器升级宽带速度-CSDN博客 步骤如下: 第一步:安装Linux系统 本文使用virtualBox 安装Ubuntu的debian系统,本文不在讲述章 请自行参考:Kali 安装之腾讯云经…

信息科技伦理与道德1:研究方法

1 问题描述 1.1 讨论? 请挑一项信息技术,谈一谈为什么认为他是道德的/不道德的,或者根据使用场景才能判断是否道德。判断的依据是什么(自身的道德准则)?为什么你觉得你的道德准则是合理的,其他…

如何不修改模型参数来强化大语言模型 (LLM) 能力?

前言 如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 大语言模型 (Large Language Model, LLM, e.g. ChatGPT) 的参数量少则几十亿,多则上千亿,对其的训…

css实现垂直文本

效果 知识 writing-mode: <value>; 可选值 horizontal-tb: 默认值。文本从左到右&#xff08;或从右到左&#xff09;排列&#xff0c;然后从上到下。vertical-rl: 文本从上到下排列&#xff0c;然后从右到左。适用于垂直书写的方向&#xff0c;如日语和中文。vertica…

【C++/控制台】扫雷

源代码&#xff1a; #include <windows.h> #include <conio.h> #include <stdio.h> int S, W 9, H 9, B 10, s, p 0, c 1, i, *m, *M, (*f)(int, int), *O; int edge(int x, int y) { return x < 0 || W < x || y < 0 || H < y; } void tm…

spring-boot启动源码分析(二)之SpringApplicationRunListener

在上一篇《spring-boot启动源码分析&#xff08;一&#xff09;之SpringApplication实例构造》后&#xff0c;继续看了一个月的Spring boot启动源码&#xff0c;初步把流程看完了&#xff0c;接下来会不断输出总结&#xff0c;以巩固这段时间的学习。同时也希望能帮到同样感兴趣…

计算机网络 (20)高速以太网

一、发展背景 随着计算机技术和网络应用的不断发展&#xff0c;传统的以太网速率已逐渐无法满足日益增长的带宽需求。因此&#xff0c;高速以太网应运而生&#xff0c;它以提高数据传输速率为主要目标&#xff0c;不断推动着以太网技术的发展。 二、技术特点 高速传输&#xff…

svn分支相关操作(小乌龟操作版)

在开发工作中进行分支开发&#xff0c;涉及新建分支&#xff0c;分支切换&#xff0c;合并分支等 新建远程分支 右键选择branch/tagert按钮 命名分支的路径名称 点击确定后远程分支就会生成一个当时命名的文件夹&#xff08;开发分支&#xff09; 分支切换 一般在开发阶段&a…

非关系型数据库和关系型数据库的区别

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

redux react-redux @reduxjs/toolkit

redux团队先后推出了redux、react-redux、reduxjs/toolkit&#xff0c;这三个库的api各有不同。本篇文章就来梳理一下当我们需要在项目中集成redux&#xff0c;从直接使用redux&#xff0c;到使用react-redux&#xff0c;再到react-redux和reduxjs/toolkit配合使用&#xff0c;…

【论文+源码】一个基于SSM(Spring + Spring MVC + MyBatis)的公寓电能计量系统

为了实现一个基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;的公寓电能计量系统&#xff0c;我们需要创建一个简单的Web应用程序来记录和显示每个公寓的电能使用情况。以下是一个基本的实现示例。 我们将包括以下几个部分&#xff1a; 数据库表设计实体类DAO层…

将simpletex 识别的公式 复制到ppt 中

1&#xff09;点击 复制MathML(word) 2&#xff09;右击粘贴到任意word 中 3&#xff09;将word公式粘到 office (2019) 的ppt 中 线上识别链接&#xff1a;SimpleTex - Snip & Get!

MATLAB 车牌自动识别系统设计 SVM支持向量机方法 车牌识别

基于支持向量机&#xff08;SVM&#xff09;方法的车牌自动识别系统是一种利用SVM算法对车牌进行分类和识别的技术。该系统通过将车牌的图像处理和特征提取与SVM分类相结合&#xff0c;实现车牌的自动检测与识别。 1. 系统概述 车牌自动识别系统旨在从车辆图像中自动识别车牌…

【Redis】集群配置(主从复制 哨兵搭建)

文章目录 集群配置主从复制哨兵搭建 集群配置 Redis 集群提供了三种分布式方案&#xff1a; 主从模式&#xff1a;一个主节点和一个或多个从节点&#xff0c;主节点负责写操作&#xff0c;从节点负责读操作&#xff0c;实现读写分离&#xff0c;分担主节点的压力。 哨兵模式…

“AI人工智能软件开发公司:创新技术,引领未来

大家好&#xff01;今天我们来聊聊一个充满未来感的话题——AI人工智能软件开发公司。这个公司&#xff0c;用大白话说&#xff0c;就是专门研究和开发人工智能软件的地方&#xff0c;它们用最新的技术帮我们解决问题&#xff0c;让生活和工作变得更智能、更便捷。听起来是不是…

智能客户服务:科技如何重塑客户服务体验

在数字化时代&#xff0c;客户对于服务的需求和期望在不断演变。传统的客户服务模式已经难以满足现代消费者对于即时性、个性化和高效性的追求。随着人工智能、大数据、云计算等先进技术的蓬勃发展&#xff0c;智能客户服务应运而生&#xff0c;不仅重塑了客户服务的体验&#…

AI 驱动研发模式升级,蓝凌软件探索效率提升之道

深圳市蓝凌软件股份有限公司&#xff08;以下简称蓝凌软件&#xff09;&#xff0c;自2001年成立以来&#xff0c;一直走在数智化办公领域的前沿。作为国家认定的高新技术企业、知识管理国家标准的参编者以及信创供应商10强之一&#xff0c;蓝凌软件始终以“让组织更智慧”为使…

【leetcode100】二叉树的中序遍历

1、题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 2、初始思路 2.1 思路 中序遍历的顺序是左→根→右&#xff0c;定义一个函数进行遍历 # Definition for …

折旧后将成本中心折旧费调整到订单中

背景&#xff1a;设备原作为通用设备&#xff0c;按成本中心折旧&#xff0c;在12月月结正常折旧后才明确为专用设备&#xff0c;需要按内部订单折旧。 问&#xff1a;折旧能不能冲销。 回复&#xff1a; 在SAP中&#xff0c;折旧凭证是无法直接冲销的。如果折旧计提有误&#…