【教程】Github环境配置新手指南(超详细)
写在前面:
如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持!
文章目录
- 一、Github初始设置
- (一)登入Github
- (二)新建仓库
- 二、本地Git配置
- (一)安装Git
- (二)进入Git Bash
- (三)配置用户
- (四)获取SSH密钥
- 三、SSH连接Github
- (一)设置Github密钥
- (二)绑定SSH连接
- 四、测试下载Github仓库
- (一)获取仓库HTTPS链接
- (二)仓库下载
- 五、测试上传Github仓库
- (一)修改仓库文件
- (二)提交仓库文件
- (三)推送仓库文件
Github是一个基于Git版本控制系统的代码托管平台,旨在帮助开发者协作、管理和追踪其软件项目的变化。
在这个平台,你可以找到各种代码资源,几乎所有程序员都在Github上建立过代码仓库,你甚至可以找到Linux创始人Linus大神或者DHH等一系列极客的仓库,所有开源项目如今也都会选择在Github平台发布。
而作为如今最流行的代码托管平台,Github的强大之处体现在以下特点:
- 版本控制: GitHub建立在Git版本控制系统之上,使开发者能够跟踪代码的变化、协作处理冲突以及恢复先前的版本。
- 代码托管: 开发者可以在GitHub上创建存储库(Repositories),将其代码存储在这些存储库中,并与团队成员或全球开发者社区分享。
- 分支管理: GitHub提供强大的分支管理功能,使开发者能够在不影响主要代码的情况下进行并行开发和实验性工作。
- 问题跟踪: 通过GitHub的问题跟踪系统,开发者可以报告问题、讨论新功能、提出建议,并在整个团队中进行透明的协作。
- 合并请求: 开发者可以通过合并请求向项目的主分支提交更改,同时进行讨论、审查代码,并最终将更改合并到主代码库中。
- 团队协作: GitHub支持多用户协作,允许开发者在同一项目中合作,并通过权限系统控制对存储库的访问权限。
- 自动化工具: GitHub集成了各种自动化工具和服务,如持续集成(Continuous Integration)和持续部署(Continuous Deployment),以简化开发流程。
- 社交网络: 开发者可以在GitHub上关注其他用户、项目或组织,以保持对感兴趣的项目的最新动态。
然而对于使用的初始阶段,Github也需要进行一些环境的初始化搭建,以下将逐步展示初始化的具体操作。
一、Github初始设置
(一)登入Github
进入Github官方网站(https://github.com/),注册或者登录自己的Github账号。具体登录和注册步骤非常简单,这里不作演示。
(二)新建仓库
登录后即可进入Dashboard(看板)页面。由于代码需要用仓库储存,所以首先需要做的就是新建一个仓库。点击新建即可进入新建仓库页面。
根据指引,新建一个仓库。我这里新建的库名叫做test,描述则为测试github。
创建完成自己的库后,下面就需要克隆在Github创建完成的库到本地,以便于自己电脑上的代码可以同步到GitHub所创建的库当中。
二、本地Git配置
(一)安装Git
进入Git官网(https://git-scm.com/)下载Git安装包。
具体安装不再演示,可以设置一下安装的路径,其他设置均保持默认即可。
(二)进入Git Bash
无论通过任务栏搜索还是创建快捷方式在桌面,进入Git Bash后将看到如下页面。在绿色的文字中,@前是是你的电脑用户名,@后面则是你的计算机型号,紫色文字则是你的系统型号。
(三)配置用户
本地连接Github需要先配置用户,使用的bash命令如下。
git config --global user.name "github上注册的用户名" # 配置用户名
git config --global user.email "github上注册的邮箱" # 配置用户邮箱
git config --global user.name # 查看配置的用户名
git config --global user.email # 查看配置的用户邮箱
(四)获取SSH密钥
想要本地同Github连接,必须先获取SSH密钥,获取密钥的Bash命令如下。
ssh-keygen -t rsa -C "GitHub上注册时的邮箱 "
此命令执行进程中需要用户的确认。
按照文件路径,即可找到SSH密钥的保存文件。值得注意的是,SSH密钥分为公钥和私钥,只有公钥才是我们需要的。
打开公钥文件(使用记事本就可以打开)可以看到公钥是一串以ssh-rsa
为开头,你注册的邮箱为结尾的代码。将这串公钥复制,下一步将使用这串公钥。
三、SSH连接Github
(一)设置Github密钥
进入Github,点击左边的头像进入设置页面。
选择SSH与GPG密钥配置页面,建立新SSH密钥。
这里的标题是命名这个SSH密钥方便管理,我命名此密钥为笔记本(laptop),密钥则是刚才复制的SSH公钥。
点击添加SSH密钥(Add SSH key)即可成功添加密钥。
(二)绑定SSH连接
由于Github获得了本地电脑SSH连接的密钥,所以理论上将只要使用就可以连接。返回Git Bash界面,使用以下Bash命令即可绑定与Github的连接。
ssh -T git@github.com
过程中会需要用户确定绑定,输入yes即可确定。返回以下结果即代表已成功绑定。
对于已经绑定好的Github,接下来还需要进行克隆(下载)到本地和上传到Github两方面的测试来确定一下功能是否可以正常使用。
四、测试下载Github仓库
(一)获取仓库HTTPS链接
进入刚才建立的仓库,在代码选项中即可看到HTTPS链接,复制下来。
(二)仓库下载
对于下载的仓库,会需要一个文件路径来承载,本人习惯下载到E盘专门建立的github文件夹,方便管理。选择下载路径通过Bash命令进入那个你想要下载的文件路径下才可以。进入那个目录下就可以下载(克隆)Github仓库了。
另外,转移到某个目录下不确定有什么目录和文件也可以用ls
命令来看一下。
cd /E/github # 转移到E盘的github目录下
git clone https://github.com/EliasZWC/test.git # 通过HTTPS链接克隆仓库到此文件夹下
出现以下返回结果则显示成功克隆仓库。
此时打开下载仓库的路径,就可以看到下载好的仓库,仓库中的readme文件也都下载了下来。
五、测试上传Github仓库
(一)修改仓库文件
当本地仓库中的项目结构发生了改变,发生的改变想要上传同步都必须存入Git暂存区。
例如这里我建立了一个test.txt文件,希望上传时则必须存入Git暂存区,Bash命令如下。
cd ./test # 进入到test这个仓库文件目录下
git add test.txt
值得注意的是,我仅改变了一个文件,所以直接使用文件名添加指定文件到Git暂存区即可;但如果修改了多项文件,可以将文件名这里改为.
即可将所有修改过的文件添加到暂存区。
(二)提交仓库文件
当文件存入暂存区后,还需要将修改项目从暂存区提交更改到本地仓库,这里需要使用git commit
命令。
git commit -m "for test" # 提交信息为for test
使用-m
参数可以添加字符串作为提交信息,即注释。出现以下返回结果说明提交成功。
(三)推送仓库文件
当仓库的更改项都已经提交到本地仓库中,此时就可以将更改后的仓库推送到远程Github仓库中了,Bash命令如下。
git push origin main
这里使用了Git系统的push
命令,origin
是远程仓库的默认别名,main
则是进入test仓库文件夹时可以看到的本地分支名称。回车使用后会出现以下Github登录页面。
两个登录方式都可以,我这里用了浏览器登录(其实另一个验证码登录也需要进入浏览器)。选择账户继续(continue)授权。
令Github账户授权给Git库。
出现此页面即授权成功。
回到Git Bash页面,查看各种上传数据,果然成功。
进入Github中的test仓库也可以看到test.txt成功上传,进入个人主页也可以看到贡献值绿了,这说明上传成功。
日后同样使用Git的add
、commit
和push
这三个命令按同样原理上传文件(仓库)即可。
我是EC,一个永远在学习中的探索者,关注我,让我们一起进步!
相关文章:

【教程】Github环境配置新手指南(超详细)
写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 文章目录 一、Github初始设置(一)登入Github(二)新建仓库 二、本地Git配置&am…...

突然发现一个很炸裂的平台!
平时小孟会开发很多的项目,很多项目不仅开发的功能比较齐全,而且效果比较炸裂。 今天给大家介绍一个我常用的平台,因含低代码平台,开发相当的快。 1,什么是低代码 低代码包括两种,一种低代码,…...
安卓开发面试题
安卓开发面试题 解释一下 Android 中的四大组件。 答:Android 中的四大组件是 Activity、Service、BroadcastReceiver 和 ContentProvider。其中,Activity 负责界面展示和与用户交互;Service 负责后台服务处理;BroadcastReceiver …...
es6面试题
ES6面试题 var、let、const区别 共同点:都是可以声明变量 区别: 1、var具有变量提升机制,let和const没有 2、var 声明的变量是函数作用域或全局作用域,而 const 和 let 声明的变量是块级作用域。 3、var可以多次声明同一个变量&a…...

Kafka MQ 生产者和消费者
Kafka MQ 生产者和消费者 Kafka 的客户端就是 Kafka 系统的用户,它们被分为两种基本类型:生产者和消费者。除 此之外,还有其他高级客户端 API——用于数据集成的 Kafka Connect API 和用于流式处理 的 Kafka Streams。这些高级客户端 API 使用生产者和消…...

tomcat优化与部署(三)------nignx优化与nginx +tomcat 部署
在目前流行的互联网架构中,Tomcat在目前的网络编程中是举足轻重的,由于Tomcat的运行依赖于JVM,从虚拟机的角度把Tomcat的调整分为外部环境调优 JVM 和 Tomcat 自身调优两部分 Tomcat 是一个流行的开源 Java 服务器,用于托管 Java …...

一个用libcurl多线程下载断言错误问题的排查
某数据下载程序,相同版本的代码,在64位系统中运行正常,但在32位系统中概率性出现断言错误。一旦出现,程序无法正常继续,即使重启亦不行。从年前会上领导提出要追到根,跟到底,到年后的今天&#…...

Docker的安装及MySQL的部署(CentOS版)
目录 1 前言 2 Docker安装步骤 2.1 卸载可能存在的旧版Docker 2.2 配置Docker的yum库 2.2.1 安装yum工具 2.2.2 配置Docker的yum源 2.3 安装Docker 2.4 启动和校验 2.5 配置镜像加速(使用阿里云) 2.5.1 进入控制台 2.5.2 进入容器镜像服务 2.5.3 获取指令并粘贴到…...

css 背景图片居中显示
background 简写 background: #ffffff url(https://profile-avatar.csdnimg.cn/b9abdd57de464582860bf8ade52373b6_misnice.jpg) center center / 100% no-repeat;效果如图:...
Python编程-如何轻松开启一个Web服务?
目录 前言 Flask:轻量级 Django:高级 Bottle:轻量级 Pyramid:灵活且可扩展 Tornado:可扩展、非阻塞 CherryPy:微型 轻量级的Web框架的选择 前言 在Python中开启一个Web服务有多种方法,选…...

鸡肋的Git
1.前言 对于大多数开发人员来说,我们大多数在学习或者工作过程中只关注核心部分,比如说学习Java,可能对于大多数人而言一开始都是从Java基础学起,然后408,Spring,中间件等,当你发现很多高深的技…...
iOS 中的 UITextField 如何设置才能只输入数字和小数点?
刚接触 iOS不久,接到一个iOS项目,其中有一个需求就是在一个 UITextField中只能输入数字和小数点,这个需求在Android中非常容易,只需要设置 <EditTextandroid:id"id/id_et_price"android:layout_width"match_par…...

阿珊详解Vue Router的守卫机制
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

python淘宝网页爬虫数据保存到 csv和mysql(selenium)
数据库连接设置(表和字段要提前在数据库中建好) # 数据库中要插入的表 MYSQL_TABLE goods# MySQL 数据库连接配置,根据自己的本地数据库修改 db_config {host: localhost,port: 3306,user: root,password: ma*****6,database: may2024,charset: utf8mb…...
云计算中仲裁节点和仲裁可用区介绍
在云计算中,仲裁是指当多个节点或实例之间发生争议或冲突时,由一个独立的第三方机构或节点来解决争议或冲突的过程。仲裁通常用于解决云计算中的资源分配、数据一致性、服务质量等问题。 仲裁的作用主要有以下几点: 1. 保证资源分配的公平性…...
Python的requests库发送HTTPS请求时,SSL证书验证的流程
建立连接:当你使用requests库发送HTTPS请求时,它会尝试与目标服务器建立安全的SSL连接。 获取服务器SSL证书:服务器会将自己的SSL证书发送给客户端(即你的请求)。 验证证书:requests库会验证服务器返回的…...
基于 HBase Phoenix 构建实时数仓(3)—— Phoenix 安装
目录 一、主机规划 二、Phoenix 安装 1. 解压、配置环境 2. 将 phoenix-server-hbase-2.5-5.1.3.jar 文件复制到 HBase 的 lib 目录中 3. 重启 HBase 集群 4. 安装验证 (1)连接 HBase (2)视图映射 (3…...

Python IDE
Python IDE 本文为大家推荐几款款不错的 Python IDE(集成开发环境),比较推荐 PyCharm,当然你可以根据自己的喜好来选择适合自己的 Python IDE。 PyCharm PyCharm 是由 JetBrains 打造的一款 Python IDE。 PyCharm 具备一般 Pyt…...
Vue3和Vue2的区别
Vue 3 是 Vue.js 的下一个主要版本,它引入了许多新特性和优化,与 Vue 2 相比有一些显著的区别。以下是一些主要的区别: 性能提升: Vue 3 提供了更快的虚拟 DOM,减少了渲染和更新时间。使用 Proxy 重写了响应式系统,使…...

【内推】新风口-大模型独角兽公司minimax
先上内推链接: MiniMax社招内推码: AK3XEJ6 投递链接: https://vrfi1sk8a0.jobs.feishu.cn/s/iFY5WFgE 岗位:前端、后端、算法,基础架构都有,大量hc 公司介绍: 国内同时拥有文本、语音、视觉三种基础大模型能力的创业…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...