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

GitHub新手用法详解【适合新手入门-建议收藏!!!】

目录

什么是Github,为什么使用它?

一、GitHub账号的注册与登录

二、 gitbash安装详解

1.git bash的下载与安装

2.git常用命令

 3. Git 和 GitHub 的绑定

1. 获取SSH keys

 2.绑定ssh密钥

三、通过Git将代码提交到GitHub

1.克隆仓库 

 2.测试提交代码


什么是Github,为什么使用它?

        GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。很多优秀的代码以及各种框架源码都存放于github当中!

       今天,GitHub已是:一个拥有143万开发者的社区。其中不乏Linux发明者Torvalds这样的顶级黑客,以及Rails创始人DHH这样的年轻极客。

       在这个开源的时代,你可以通过这个平台看到世界上许多其他大佬的程序作品,并且学习他们的编程思想,而且这很容易获得。接下来让我们入门GitHub吧!

一、GitHub账号的注册与登录

1.首先我们来到Github官网进行账号注册:GitHub: Let’s build from here · GitHub

2.如果没有账号点击 sign up 进行注册账号(如果之前注册过账号的话就点击旁边的 sign in) 。 

 3、在光标处输入自己经常使用的邮箱,邮箱必须是可以收到邮件的。

(相对来说注册还是很简单的,只需要一个邮箱即可,邮箱一般写qq邮箱就可以了,以后忘记密码了,方便靠邮箱来找回密码。)

 填写账号密码及相关信息(最下面填n就好了,是问你是否通过注册的电子邮件来接收产品更新和公告,之后会进行一些真人验证。并邮箱收到个验证码,输入验证码接下来一路无脑next操作你就完成了注册。)

 4.到这个界面时,GitHub便创建好了。

       Github官网全是英文的,对于英语不好的同学建议使用谷歌浏览器,谷歌浏览器可以翻译网页变为中文使用起来十分方便。

 5.登录进去之后,在这里我们可以创建一个自己的库。

需要注意的就是库分为两种,分为了公有的私有的,大家自行选择即可。填好信息后点击创建仓库即可。

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

二、 gitbash安装详解

       下面我就介绍一下git bash的安装,以及简单的配置。git bash是Windows下的命令行工具,主要用于git版本控制,上传下载项目代码。

1.git bash的下载与安装

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

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

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

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

 然后就等待下载完成:

在安装过程中直接默认选项一路next即可。 

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

 在这里,我们选择Launch Git Bash,进入如下界面:

2.git常用命令

 3. Git 和 GitHub 的绑定

1. 获取SSH keys

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

 然后输入 ssh-keygen -t rsa -C “git账号”

 输入之后一路(三次)Enter(确认)就可以了

以下截图就证明成功了,这个时候按照它给的打开以下地址:

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

 2.绑定ssh密钥

1. 接下来我们需要登录到我们的GitHub上边添加这个密匙

2. 随便填写名字以及刚才复制的公钥(id_rsa.pub内容),添加后配置完成。

之后我们就添加成功啦! 

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

接下来还需要简单的设置一些东西。

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

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

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

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

三、通过Git将代码提交到GitHub

我们需要先了解两个命令,也是我们在将来需要经常用到的两个命令,分别为pushpull。

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

git push origin master

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

git pull origin master

1.克隆仓库 

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

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

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

然后输入 git clone 地址(这个地址就是刚刚库那个Code的上代码地址)

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

 下图可以看到,指定目录已经存在了我们的库文件

 2.测试提交代码

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

 2.然后同样在这个文件夹里面右键git bash进黑框框,git add我们新增的文件

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

 4.接着输入push指令 git push origin main    下图就代表成功了

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


这篇GitHub新手用法详解教程到这里就结束啦,如果有什么问题可以在评论区留言呀~

后续还会更新Github的相关操作!!

如果帮助到大家,可以一键三连+关注支持下~

相关文章:

GitHub新手用法详解【适合新手入门-建议收藏!!!】

目录 什么是Github,为什么使用它? 一、GitHub账号的注册与登录 二、 gitbash安装详解 1.git bash的下载与安装 2.git常用命令 3. Git 和 GitHub 的绑定 1. 获取SSH keys 2.绑定ssh密钥 三、通过Git将代码提交到GitHub 1.克隆仓库 2.测试提交代码…...

游戏开发线性空间下PS工作流程

前言 使用基于物理的渲染,为了保证光照计算的准确,需要使用线性空间; 使用线性空间会带来一个问题,ui 在游戏引擎中的渲染结果与 PS 中的不一致: PS(颜色空间默认是sRGB伽马空间)&#xff1a…...

7-10 最长公共子序列

目录 题目描述 输入格式: 输出格式: 输入样例: 输出样例: 解题思路: 详细代码: 题目描述 给出 1~n 的两个排列 P1 和 P2,求它们的最长公共子序列。 n 在 5~1000 之间。 输入格式: 第一行是一个数 n 接下来两行,每行为 n 个数&…...

亚远景-ISO 21434标准下的汽车网络安全:风险评估与管理的关键实践

ISO 21434标准,全称为ISO/SAE 21434 "Road Vehicles - Cybersecurity Engineering",是国际标准化组织(ISO)发布的针对汽车领域的标准,旨在指导汽车制造商、供应商和相关利益相关方在汽车系统中应用适当的网络安全措施。在ISO 21434…...

C++ 的 source_location

1 __FILE__ 和 __LINE__ ​ 你一定看过这样的代码: printf("Internal error at \"%s\" on line %d.\n", __FILE__, __LINE__); 这行代码的作用就是打印出 printf() 函数调用发生时所在的源代码文件名(包含路径)和这行代…...

[python SQLAlchemy数据库操作入门]-14.实时数据采集 记录股市动态

哈喽,大家好,我是木头左! 要使用 SQLAlchemy 进行实时数据采集,首先需要搭建相应的开发环境。以下是所需的主要步骤: 安装 Python:确保你的系统上已经安装了 Python,推荐使用 Python 3.x 版本。创建虚拟环境:为了隔离项目依赖,建议为每个项目创建一个虚拟环境。可以使…...

`we_chat_union_id IS NOT NULL` 和 `we_chat_union_id != ‘‘` 这两个条件之间的区别

文章目录 1、什么是空字符串?2、两个引号之间加上空格 好的,我们来详细解释一下 we_chat_union_id IS NOT NULL 和 we_chat_union_id ! 这两个条件之间的区别,以及它们在 SQL 查询中的作用: 1. we_chat_union_id IS NOT NULL 含…...

【和春笋一起学C++】文本输入与读取

前言:前面学习了while语句后,下面用while语句实现一个重要的功能,逐字符的读取键盘输入的字符序列,并输出到显示屏上。 准备知识: C的输入输出包含以下3方面的内容: 对系统指定的标准设备的输入和输出。即…...

D类音频应用EMI管理

1、前言 对于EMI,首先需要理解天线。频率和波长之间的关系,如下图所示。   作为有效天线所需的最短长度是λ/4。在空气中,介电常数是1,但是在FR4或玻璃环氧PCB的情况下,介电常数大约4.8。这种效应会导致信号在FR4材…...

第N8周:使用Word2vec实现文本分类

文章目录 一、数据预处理1.加载数据2.构建词典3.生成数据批次和迭代器 二、模型构建1.搭建模型2.初始化模型3.定义训练与评估函数 三、训练模型1.拆分数据集并运行模型 四、总结 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者&a…...

100天精通Python(爬虫篇)——第113天:爬虫基础模块之urllib详细教程大全

文章目录 1. urllib概述2. urllib.request模块 1. urllib.request.urlopen()2. urllib.request.urlretrieve()3. urllib.request.Request()4. urllib.request.install_opener()5. urllib.request.build_opener()6. urllib.request.AbstractBasicAuthHandler7. urllib.request.…...

光谱相机与普通相机的区别

一、成像目的 普通相机:主要目的是记录物体的外观形态,生成人眼可见的、直观的二维图像,重点在于还原物体的形状、颜色和纹理等视觉特征,以供人们进行观赏、记录场景或人物等用途。例如,拍摄旅游风景照片、人物肖像等…...

Mysql数据 新增、修改和删除操作时,这些变化如何被转换为Kafka消息?

Mysql数据 新增、修改和删除操作时,这些变化如何被转换为Kafka消息? 为了在FlinkCDC中配置MySQL同步到Kafka,并采用debezium-json数据格式,我们需要了解当执行新增、修改和删除操作时,这些变化如何被转换为Kafka消息。下面我们将详细介绍这些变化情况,并提供具体的数据样…...

《Python 机器视觉:开启智能视觉新时代》

《Python 机器视觉:开启智能视觉新时代》 一、Python 机器视觉的基石(一)关键库的强大力量(二)环境搭建的便捷路径 二、核心功能与奇妙应用(一)图像的奇幻处理(二)目标检…...

uniapp实现为微信小程序扫一扫的功能

引言 随着微信小程序的快速发展,越来越多的开发者开始关注和学习微信小程序的开发。其中,微信小程序的扫一扫功能是非常常用且实用的功能之一。通过扫描二维码,用户可以获取到相关的信息或者实现特定的功能。 正文 在过去,开发者需要使用微信开发者工具以及相关的开发文档…...

【微信小程序】4plus|搜索框-历史搜索 | 我的咖啡店-综合实训

升级版1-清空全部的再次确认 实现功能: 历史搜索记录展示-历史搜索记录展示10条点击跳转-点击历史搜索记录可同步到搜索框并自动搜索全部删除-可一次性全部删除历史搜索记录全部删除-有再次确认操作展示 进行搜索后留下搜索记录 点击垃圾桶图标,显示【清空全部】 点击【清…...

使用FFmpeg进行拉流和推流操作

FFmpeg是一款强大的多媒体处理工具,可以用于视频的录制、转换、推流和拉流等操作。下面将详细介绍如何使用FFmpeg进行拉流和推流操作。 1. FFmpeg推流操作 推流是将本地的音视频流推送到流媒体服务器上,例如主播将本地电脑上的画面推流到直播平台的流媒…...

Unity微信小游戏接入开放数据域

demo地址:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo/Ranking 官方说明: https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/OpenData.md 准备一个Canvas&#xff0c…...

Spring Boot的开发工具(DevTools)模块中的热更新特性导致的问题

问题: java.lang.ClassCastException: class cn.best.scholarflow.framework.system.domain.entity.SysUser cannot be cast to class cn.best.scholarflow.framework.system.domain.entity.SysUser (cn.best.scholarflow.framework.system.domain.…...

Elasticsearch安装和数据迁移

Elasticsearch安装和数据迁移 Elasticsearch安装 下载并解压Elasticsearch 首先下载Elasticsearch的tar.gz文件,并将其解压: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.2-linux-x86_64.tar.gz tar -xzf elastics…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

Java入门学习详细版(一)

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...

C++使用 new 来创建动态数组

问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...