Github入门教程,适合新手学习(非常详细)

news2024/11/30 3:50:08

前言:本篇博客为手把手教学的 Github 代码管理教程,属于新手入门级别的难度。教程简单易操作,能够基本满足读者朋友日常项目寄托于 Github 平台上进行代码管理的需求。Git 与 Github 是一名合格程序员 coder 必定会接触到的工具与平台,GitHub 作为世界上最大的代码开源与分享平台,读者朋友可以在 Github 得到或上传各种各样的代码资源。希望这篇博文能给读者朋友的 Git 与 Github 使用带来些许帮助,Respect!

Github官网地址:GitHub: Let’s build from here · GitHub

Github教程推荐:Github 简明教程 | 菜鸟教程 (runoob.com)

一、Github概述

1.1 Git的诞生

GitHub 是一个基于web的服务平台,主要用于版本控制和协作,让开发者和项目团队能够更好地一起工作。它提供了一个 Git 代码仓库的托管服务,Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 为更好地管理 Linux 内核开发而设计。

在 GitHub 上,用户可以创建自己的项目仓库来管理代码,同时也可以参与到其他人的项目中。 GitHub 提供了许多协作特性,比如问题跟踪、项目管理、代码审查、团队讨论等,这些都极大地促进了开源项目的合作和发展。 

★Git 诞生八卦:

Linus 在 1991 年创建了开源的 Linux,从此,Linux 系统不断发展,已经成为最大的服务器系统软件了。

Linus 虽然创建了 Linux,但 Linux 的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为 Linux 编写代码,那 Linux 的代码是如何管理的呢?

在 2002 年以前,世界各地的志愿者把源代码文件通过 diff 的方式发给 Linus,然后由 Linus 本人通过手工方式合并代码!

直到 2002 年,Linux 系统已经发展了十年了,代码库之大让 Linus 很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统 BitKeeper,BitKeeper 的东家 BitMover 公司出于人道主义精神,授权 Linux 社区免费使用这个版本控制系统。

但在 2005 年这样的美好被打破了,于是 Linus 花了两周时间自己用 C 写了一个分布式版本控制系统,这就是 Git!一个月之内,Linux 系统的源码已经由 Git 管理了!

Git 迅速成为最流行的分布式版本控制系统,尤其是 2008 年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub,包括 jQuery,PHP,Ruby 等等。

1.2 Git与Github的联系

Git 和 GitHub 是两个紧密相关的事物:

1、Git: Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 创建于 2005 年。它允许开发者跟踪和管理源代码历史,支持多人协作开发。Git 的核心功能包括版本控制、分支管理、合并和冲突解决等。它是基于命令行的工具,可以在本地计算机上完全离线工作。

2、GitHub: GitHub 是一个基于 Git 的在线托管平台,提供 Git 仓库的托管服务。它为开源项目和个人开发者提供了一系列协作工具,如代码审查、问题跟踪、项目管理、Wiki 页面等。GitHub 还提供了图形用户界面,使得用户可以更容易地使用Git的功能。此外,GitHub 还提供了一些社交网络特性,如关注其他用户、星标项目(star)、对项目代码提出改进建议(fork)和提交拉取请求(pull request)。

综上所述,Git 是一个版本控制系统,而 GitHub 是一个使用 Git 的工具和服务提供者。开发者可以在本地使用 Git 进行版本控制,然后将代码推送到 GitHub 上进行共享和协作。

二、Github的使用

2.1 Github注册

1、登入 GitHub 的官网,点击 sign up(注册);

2、填入相关的注册 GitHub 账号信息;

3、登入自己刚刚注册的 Github 账号;

2.2 Github项目库创建

1、登入自己的 Github,点击创建 Create repository;

2、对创建的项目工程内容进行选择性的填写;

3、读者朋友需要注意库分为两种,分别是:公有(Public)和私有(Private),大家自行选择即可。填好信息后点击创建仓库即可。

在创建完成自己的库之后,下面就要让自己的电脑克隆一个自己所创建的库,方面自己电脑上的代码同步到 GitHub 你所创建的库当中。为了实现,就需要安装一个软件 Git Bash。接下来让我们安装 Git Bash。 

2.3 Gitbash安装详解

Git Bash 是 Git for Windows 的一个组件,它提供了一个基于 MinGW 的命令行仿真环境,允许用户在 Windows 操作系统上使用 Git 命令行工具,就像在 Unix 或 Linux 系统上一样。Git for Windows 是 Git 的官方版本,它包括了 Git 命令行工具、Git GUI(图形用户界面)以及 Git Bash。

Git Bash 提供了一些类似于 Unix shell 的特性,包括常用的 Unix 命令(如 ls、cat、grep 等),以及通过 SSH 进行远程操作的能力。它还支持对 Windows 文件系统的访问,允许用户在 Git Bash 中执行 Windows 应用程序和访问 Windows 文件路径。

安装 Git for Windows 后,用户可以在 Windows 的开始菜单中找到 Git Bash,或者在文件资源管理器中任意文件夹的上下文菜单中找到“Git Bash Here”选项,从而启动 Git Bash。在 Git Bash 中,用户可以执行 Git 相关的操作,如克隆仓库、提交更改、推送分支等。

Git官网下载地址:Git (git-scm.com)

在 Git 的官网中点击Downloads,进入如下页面:Git - Downloads (git-scm.com)

有 Mac,Windows,Linux 版本的,下载适合自己电脑的版本(博主是 Windows 按照自己电脑配置来选的):

选择自己的操作系统下载即可: 

等待下载完成: 

如下图所示,这表示 Git 已经安装完成了,至于图中的两个选择,则分别表示 打开 Git Bash 和 浏览 Git 版本信息,可以都选,也可以都不选。

Git常用命令:

2.4 Git和Github的绑定

2.4.1 得到ssh keys

输入 cd ~/.ssh,返回 "no such file or directory" 表明电脑没有ssh key,需要创建ssh key;

故在终端输入 ssh-keygen -t rsa -C “git账号”

连续进行 3 次回车Enter(确认),得到如下截图中的信息即可; 

按路径进入 .ssh,里面存储的是两个 ssh key 的秘钥,id_rsa.pub 文件里面存储的是公钥,id_rsa 文件里存储的是私钥,不能告诉别人。打开 id_rsa.pub 文件,复制里面的内容。

2.4.2 绑定ssh密钥

1、接下需要登录到自己的 GitHub 上边添加这个密匙;

2、填写名字并且填写复制的公钥(id_rsa.pub内容),添加后配置完成。;

 3、点击 Add SSH key,我们就成功添加 SSH Key 啦!

4、我们回到 Git bash上边,输入:ssh -T git@github.com
来检查是否成功绑定。如果输入代码之后再选择 yes 出来是这样说明就成功啦!!! 

5、剩余简单的配置内容。

将 name 最好和 GitHub 上边的一样,email 是一定要是注册 GitHub 的那个邮箱地址

这两个的顺序可以颠倒,没有固定的顺序。

git config --global user.name “gitname”
git config --global user.email “git邮箱”

截止到这里的操作,已经完成本地 Git 与远程的 Github 绑定,这意味着我们已经可以通过 Git 向 GitHub 提交代码啦!

2.5 使用Git将代码提交到GitHub

该过程需要使用经常的接触的两个 Git 命令,包括:push pull

push该单词直译过来就是 “推” 的意思,如果我们本地的代码有了更新,为了保持本地与远程的代码同步,我们就需要把本地的代码推到远程的仓库,代码示例:

git push origin master

pull该单词直译过来就是 “拉” 的意思,如果我们远程仓库的代码有了更新,同样为了保持本地与远程的代码同步,我们就需要把远程的代码拉到本地,代码示例: 

git pull origin master

2.5.1 克隆仓库

1、将我们的库克隆下来到本地电脑中,方便以后进行上传代码。

2、点进仓库之后点击 Code,点击 ssh 会看到一串网址(http也可以),这个地址就是代码地址,git clone 命令会用的到。

3、接下来我们就开始选择文件存储地方了,在本地电脑中找到存储文件的地方,然后右键选择 Git Bash Here: 

4、在终端输入 git clone 地址(这个地址就是刚刚库那个Code的上代码地址)

该过程有时候可能会需要输入 Github 账号密码啥的,记得不要输错啦! 

 如下图所示,指定目录已经存在了我们的库文件 

2.5.2 上传代码

1、打开这个文件夹,然后在其中创建一个任意格式,任意名称的文件(这里新建了一个测试文件)。

2、在这个文件夹里面右键 git bash 进黑框框,git add 我们新增的文件

3、之后输入然后 git commit -m “测试是否成功” 引号内的内容可以随意改动,这个语句的意思是 给你刚刚上传的文件一个备注,方便查找记忆而已;

4、接着输入 push 指令 git push origin main,如下图所示就代表成功了;

5、打开 GitHub,看到刚刚上传的文件,显示成功。

到这里,本篇博客针对 Github 平台的使用教程就已经结束了!!! 

三、作者有话

Github 是目前全世界最大的开源代码分享平台,不管是工程项目代码还是科研文章中的代码,很多都是托管于 GitHub 上的。不仅于此,很多公司现在编写与管理工程代码时候,也经常使用 Git 进行操作!所以,不管怎么样还是非常建议读者朋友去花点时间与经历去学习 Git 的使用的!非常希望这篇简短的博客能够帮助到各位,Respect!

结语:希望各位读者朋友与大佬也能在 Github 上继续分享优秀的开源项目,助力 Github 上国人的贡献量,Respect!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java优雅统计耗时【工具类】

任务耗时如何优雅的打印,看完本文你就明白了!~ import cn.hutool.core.date.StopWatch; import cn.hutool.core.lang.Console;/*** 优雅打印出任务耗时*/ public class Main {public static void main(String[] args) throws Exception{StopWatch stopW…

Kali中安装和使用docker的学习笔记

一、常见命令 ctrl 、shift、 : 窗口变大; ctrl 、- :窗口变小; ctrl L: 清屏 ; sudo su : 切换root 用户; ip addr / ifconfig: 获取IP地址; systemctl start ssh…

【报错】无法找到模块“element-plus/es/locale/index.mjs”的声明文件。

报错: 无法找到模块“element-plus/es/locale/index.mjs”的声明文件。“E:/codeAll/work/test1/test2/HealinLikeMe-ui/node_modules/.pnpm/element-plus2.7.3_vue3.4.27_typescript5.4.5_/node_modules/element-plus/es/locale/index.mjs”隐式拥有 "any&quo…

MySQL-----JOIN语句之内连接

在我们使用MySQL进行项目的开发过程中,仅仅对一张表进行操作是远远不够的,真正的应用中经常需要从多个数据表中读取数据。我们在使用的过程中,尝尝通过 SELECT, UPDATE 和 DELETE 语句配合使用 JOIN 来联合多表查询。 JOIN 分类 INNER JOIN…

Windos10上Podman安装运行mysql8

记录以下在windows10系统上Podman v5.1.1安装MySQL8全过程。 目录 一、拉取mysql8镜像二、创建宿主目录三、创建 my.cnf文件四、创建Mysql8容器五、windows上Podman安装运行mysql8失败问题描述 解决办法① 通过PowerShell进入wsl② 修改wsl系统配置③ 重启wsl,Podma…

CNC智能化的上下料解决方案

CNC加工行业因其高效、精密的加工能力在3C、汽车等行业中占据重要地位。然而,传统的CNC上下料方式繁琐且耗时,与CNC机床配套工序和设备的高度信息化、自动化水平形成鲜明对比。这种不匹配导致人工上下料成为生产线的瓶颈,不仅效率低下&#x…

算法导论实战(七)(山东大学软件学院算法历年考题+朋辈辅导)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀算法启示录 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 第一周 题目一 题目二 题目三…

美创科技入选“2024网络安全提供商创新排行榜”

近日,DBC德本咨询公布了“2024网络安全提供商创新排行榜”,美创科技凭借近20年的数据安全创新耕耘,荣誉上榜。 此次,与360、华为、腾讯等互联网、网络安全头部厂商并肩上榜,是行业对美创的再次认可。 数据安全的发展离…

加密好的WPSword文档,忘记密码怎么办?

在日常办公和学习中,我们经常使用WPS Word等文档处理软件来创建和编辑重要文件。为了保护这些文件不被未经授权的人访问,我们通常会选择给文档设置密码。然而,有时我们可能会因为时间久远或其他原因而忘记自己设置的密码,这时该如…

5分钟安装Kubernetes:+带你轻松安装istio服务网格指南

上次我跟大家简单介绍了一下Kubernetes的各个组件及其含义,本期本来计划带领大家一起学习一些常用命令,但我认为这种方式可能无法达到学习的效果。有可能你们会直接忘记,甚至可能没有兴趣去学。我也理解,心想这跟我有什么关系&…

首张地下地图!D-Wave 专用量子计算机助力沙特阿美完成地震成像

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 排版丨沛贤 深度好文:800字丨3分钟阅读 摘要:过去两年中,沙特阿美研究中心一直在使用总部在加拿大的D-Wave 公司的专用量子计算技术,…

直流遥控器 继电器8-10V应用 降压恒压SL3036电源芯片

在现代电子设备中,电源的稳定性和可靠性对于设备的正常运行至关重要。特别是在直流遥控器这类设备中,由于其需要长时间稳定运行且对电压稳定性要求较高,因此选择一款合适的电源芯片显得尤为重要。本文将重点介绍SL3036电源芯片在直流遥控器继…

MindMap:大模型结合知识图谱,提供透明的推理路径

MindMap:大模型结合知识图谱,提供透明的推理路径 提出背景1. 知识更新与整合2. 信息准确性与幻觉问题3. 推理透明度与解释性4. 处理复杂查询的能力5. 系统灵活性和扩展性 MindMap 基于邻居的证据探索 基于路径的证据探索 证据整合 推理与生成左侧部分…

实现一个vue js小算法 选择不同的时间段 不交叉

以上图片选择了时间段 现在需要判断 当前选择的时间段 不能够是 有交叉的所以现在需要循环判断 //判断时间段是否重叠交叉 export function areIntervalsNonOverlapping(intervals:any) {// 辅助函数:将时间字符串转换为从当天午夜开始计算的分钟数function conver…

海豚调度清理:使用 API 轻松清理历史工作流实例以及日志文件

💡 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 祝开卷有益。 大数据学习指南 大家好,我是小陶,DolphinS…

橡胶:神奇的天然材料

你是否知道,橡胶其实是一个充满神秘与奇妙的世界? 从原始的乳胶,到现代工业中的合成橡胶,它的变化与运用令人叹为观止。橡胶,不仅是轮胎、胶鞋的原材料,更是众多工业产品不可或缺的组成部分。它的弹性、耐磨…

Win快速删除node_modules

在Windows系统上删除 node_modules 文件夹通常是一个缓慢且耗时的过程。这主要是由于几个关键因素导致的: 主要原因 文件数量多且嵌套深: node_modules 文件夹通常包含成千上万的子文件夹和文件。由于其结构复杂,文件和文件夹往往嵌套得非常…

商家转账到零钱申请内幕最详细解说

商家转账到零钱开通过程中,微信支付官方提供了多达十一种不同的转账场景,这些繁杂的选项经常让商家感到迷茫,难以选择最适合的场景。尤其是申请被拒后,一些商家会试图通过更换场景来碰运气。 不过根据我们上万例的开通经验来看&a…

STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX

STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX STM32的USB接口可以模拟成为U盘,通过FATS文件系统对连接的存储单元进行U盘方式的读写。 这里介绍STM32CUBEIDE开发平台HAL库模拟U盘桥接SPI总线FATS读写W25Q各型号FLASH的例程。 FLASH是常用的一种非易失…

自己用pip下载好模块啦,但是在pycharm里面不显示?

问题: 今天在cmd里面用pip命令安装第三方模块,最后用pip list 命令发现已经成功安装,但是在pycharm里面用该模块的时候,还是爆红,显示没有该库 。 解决方法: 第一种(项目刚创建)&am…