当前位置: 首页 > news >正文

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

前言:本篇博客为手把手教学的 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!!!

相关文章:

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

前言:本篇博客为手把手教学的 Github 代码管理教程,属于新手入门级别的难度。教程简单易操作,能够基本满足读者朋友日常项目寄托于 Github 平台上进行代码管理的需求。Git 与 Github 是一名合格程序员 coder 必定会接触到的工具与平台&#x…...

C# OpenCvSharp 代数运算-add、scaleAdd、addWeighted、subtract、absdiff、multiply、divide

在C#中使用OpenCvSharp进行图像处理时,理解和合理使用各种图像操作函数可以帮助我们实现许多实际应用中的需求。下面,我将详细介绍每个函数的使用,并给出与实际应用项目相关的示例,包括运算过程和运算结果。 1. add 函数 作用 将两幅图像进行相加,可以达到图像融合的目的…...

为什么说Python 是胶水语言?

​ "Python 是胶水语言"这一说法是指它很擅长将不同的程序或代码库连接在一起,能够让来自不同编程语言或框架的组件无缝协作。Python 具有丰富的库和简单的语法,使得它可以轻松调用其他语言编写的程序或使用不同技术栈的模块。 ​ 以下是几个…...

GitLab教程(二):快速上手Git

文章目录 1.将远端代码克隆到本地2.修改本地代码并提交到远程仓库3.Git命令总结git clonegit statusgit addgit commitgit pushgit log 首先,我在Gitlab上创建了一个远程仓库,用于演示使用Gitlab进行版本管理的完整流程: 1.将远端代码克隆到本…...

结构体知识点

基本概念 结构体是一种自定义变量类型,类似于枚举需要自己定义。 它是数据和函数的集合。 在结构体中,可以声明各种变量和方法。 基本语法 1.结构体一般写在namespace语句块中。 2.结构体关键字struct struct 自定义结构体名 {//第一部分//变量//…...

C# —— 显示转换

显示转换: 通过一些方法可以将其他数据类型转换为我们想要的数据类型 1.括号强转 作用: 一般情况下 将高精度的类型转换为低精度 // 语法: 变量类型 变量名 (转换的变量类型名称) 变量; // 注意: 精度问题 范围问题 sbyte sb 1; short s 1; int …...

zip加密txt文件后,暴力破解时会有多个解密密码可以打开的疑问??

最近在做一个关于zip压缩文件解密的测试,发现通过暴力解密时,会有多个解密密码可以打开,非常疑惑,这里做个问题,希望能有大佬解惑。 1、首先在本地创建一个113449.txt的文件,然后右键txt文件选择压缩&…...

css入门宝典

3.1.4 通配符选择器 语法 : *{} 作用 : 让页面中所有的标签执行该样式,通常用来清除间距 例子 : *{ margin: 0; //外间距 padding: 0; //内间距 } 一 CSS基本语法 1基础知识 1.1概述 Css (层叠样式表)是种格式化网页的标准方式, 用于控制设置网页的样式&#xff…...

【AI原理解析】— 星火大模型

目录 1. 模型基础架构 神经网络结构 编码器 解码器 多层神经网络结构 其他自然语言处理技术 2. 训练数据 来源 规模 3. 自监督学习 Masked Language Model (MLM) 4. 参数量与计算能力 大规模参数量 深度学习算法 5. 技术特点 多模态输入 自我学习与迭代 6. 应…...

StarNet实战:使用StarNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 https://arxiv.org/pdf/2403.19967 论文主要集中在介绍和分析一种新兴的学习范式——星操作(Star Operation),这是一种通过元素级乘法融合不同子…...

单链表——AcWing.826单链表

单链表 定义 单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。 运用情况 用于实现动态的数据存储和管理,例如实现栈、队列等其他数据结构。在需要频繁进行插入和删除操作时非常有用…...

10:Hello, World!的大小

OpenJudge - 10:Hello, World!的大小 描述 还记得在上一章里,我们曾经输出过的“Hello, World!”吗? 它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。 请编程求出它的大小,看看跟你…...

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文档获取 微…...

WordPress——Argon主题美化

文章目录 Argon主题美化插件类类别标签页面更新管理器文章头图URL查询监视器WordPress提供Markdown语法评论区头像设置发信设置隐藏登陆备份设置缓存插件 主题文件编辑器页脚显示在线人数备案信息(包含备案信息网站运行时间)banner下方小箭头滚动效果站点功能概览下方Links功能…...

Vue部分文件说明

1.eslintignore文件 Eslint会忽略的文件 # Eslint 会忽略的文件.DS_Store node_modules dist dist-ssr *.local .npmrc 2.gitignore # Git 会忽略的文件.DS_Store node_modules dist dist-ssr .eslintcache# Local env files *.local# Logs logs *.log npm-debug.log* yarn-de…...

图书管理系统(SpringBoot+SpringMVC+MyBatis)

目录 1.数据库表设计 2.引入MyBatis和MySQL驱动依赖 3.配置数据库&日志 4.Model创建 5.用户登录功能实现 6.实现添加图书功能 7.实现翻页功能 1.数据库表设计 数据库表是应⽤程序开发中的⼀个重要环节, 数据库表的设计往往会决定我们的应⽤需求是否能顺利实现, 甚至决…...

11.泛型、trait和生命周期(上)

标题 一、泛型数据的引入二、改写为泛型函数三、结构体/枚举中的泛型定义四、方法定义中的泛型 一、泛型数据的引入 下面是两个函数,分别用来取得整型和符号型vector中的最大值 use std::fs::File;fn get_max_float_value_from_vector(src: &[f64]) -> f64…...

UML与设计模式

1、关联关系 关联关系用于描述不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联关系是一种静态关系,通常与运行状态无关,而是由“常识”、“规则”、“法律”等因素决定的,因此关联关系是一种强关联的关…...

如何在Spring Boot中实现图片上传至本地和阿里云OSS

在开发Web应用时,处理文件上传是常见的需求之一,尤其是在涉及到图片、视频等多媒体数据时。本文将详细介绍如何使用Spring Boot实现图片上传至本地服务器以及阿里云OSS存储服务,并提供完整的代码示例。 一、上传图片至本地 首先&#xff0c…...

几个小创新模型,KAN组合网络(LSTM、GRU、Transformer)时间序列预测,python预测全家桶...

截止到本期,一共发了8篇关于机器学习预测全家桶Python代码的文章。参考往期文章如下: 1.终于来了!python机器学习预测全家桶 2.机器学习预测全家桶-Python,一次性搞定多/单特征输入,多/单步预测!最强模板&a…...

FreeVA:零训练成本,用图像大模型实现视频理解的新范式

1. 项目概述:一个无需训练的“零成本”视频助手 最近在折腾多模态大模型(MLLM)的时候,我发现了一个挺有意思的现象:大家一提到让模型理解视频,第一反应就是得搞“视频指令微调”。简单说,就是拿…...

iOS设备支持文件管理解决方案:如何解决Xcode开发环境兼容性问题

iOS设备支持文件管理解决方案:如何解决Xcode开发环境兼容性问题 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport iOSDeviceSupport项目为iOS开发者提供了全面的设备支…...

PheroPath:自定义代谢通路构建与可视化工具在组学数据分析中的应用

1. 项目概述与核心价值最近在生物信息学和计算生物学领域,一个名为“PheroPath”的项目引起了我的注意。这个项目由用户starpig1129托管,从名字上就能嗅到一丝“信息素”和“路径”结合的味道。作为一名长期在组学数据分析、特别是代谢通路研究一线摸爬滚…...

LayerDivider终极指南:5分钟掌握智能插画分层技术

LayerDivider终极指南:5分钟掌握智能插画分层技术 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经面对一张复杂的插画作品&#xf…...

SITS 2026图计算方案深度解析,独家披露金融风控与生物医药两大场景的GNN工程化适配矩阵(含12个可复用配置模板)

更多请点击: https://intelliparadigm.com 第一章:AI原生图计算应用:SITS 2026图神经网络工程化方案 SITS 2026 是面向大规模动态图场景的AI原生图计算框架,深度融合GNN训练、图拓扑实时更新与边缘-云协同推理能力。其核心设计摒…...

2026程序员危机:AI岗位暴涨12倍,传统开发即将“毕业”?转型AI大模型开发,才是破局关键!

2026年技术圈将面临巨大变革,AI岗位需求激增,传统编程岗位面临淘汰风险。企业更看重懂AI、能提效的复合型人才。程序员需转型AI大模型开发,掌握系统设计、代码审查及AI工具应用能力。北大青鸟推出AI大模型开发实战营,聚焦落地开发…...

《凰标》:写给所有被资本轻视的创作者@凤凰标志

——写给所有不被看见的创作者没有流量即是无用, 没有热度即是不值, 没有商业变现能力即是小众累赘。在资本主导的文娱评价体系里,这条偏见像一道隐形天花板,横亘在每一个草根创作者的头顶。一、被算法淹没的匠心 他们怀揣赤诚热爱…...

基于EVE ESI API与AI Agent的自动化游戏监控与数据分析实践

1. 项目概述:为AI助手注入EVE宇宙的灵魂 如果你是一名《EVE Online》的玩家,同时又对AI自动化工具感兴趣,那么你很可能和我一样,长期被一个矛盾所困扰:一方面,EVE这个沙盒宇宙充满了需要监控和管理的日常事…...

基于SEID模型与ode45数值解的艾滋病传播动力学建模与区域防控策略评估

1. 当数学模型遇上艾滋病防控 我第一次接触传染病建模是在研究生时期,当时导师扔给我一叠艾滋病流行病学数据,说:"试试用微分方程描述这个传播过程"。那会儿对着密密麻麻的病例报告,我完全没想到数学公式真能模拟现实中…...

ROS2导航SLAM建图实战:从Gazebo仿真到真实地图构建

1. 环境准备与基础配置 第一次接触ROS2导航和SLAM建图的朋友可能会觉得配置环境很复杂,其实只要跟着步骤一步步来,半小时就能搞定。我用的是一台装了Ubuntu 20.04的笔记本,ROS2版本选择Foxy,这个组合最稳定。记得先更新系统&#…...