【教程】Github环境配置新手指南(超详细)

news2024/11/15 13:27:10

文首标志
写在前面:
如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持!


文章目录

  • 一、Github初始设置
    • (一)登入Github
    • (二)新建仓库
  • 二、本地Git配置
    • (一)安装Git
    • (二)进入Git Bash
    • (三)配置用户
    • (四)获取SSH密钥
  • 三、SSH连接Github
    • (一)设置Github密钥
    • (二)绑定SSH连接
  • 四、测试下载Github仓库
    • (一)获取仓库HTTPS链接
    • (二)仓库下载
  • 五、测试上传Github仓库
    • (一)修改仓库文件
    • (二)提交仓库文件
    • (三)推送仓库文件


Github是一个基于Git版本控制系统的代码托管平台,旨在帮助开发者协作、管理和追踪其软件项目的变化。

在这个平台,你可以找到各种代码资源,几乎所有程序员都在Github上建立过代码仓库,你甚至可以找到Linux创始人Linus大神或者DHH等一系列极客的仓库,所有开源项目如今也都会选择在Github平台发布。
在这里插入图片描述

而作为如今最流行的代码托管平台,Github的强大之处体现在以下特点:

  1. 版本控制: GitHub建立在Git版本控制系统之上,使开发者能够跟踪代码的变化、协作处理冲突以及恢复先前的版本。
  2. 代码托管: 开发者可以在GitHub上创建存储库(Repositories),将其代码存储在这些存储库中,并与团队成员或全球开发者社区分享。
  3. 分支管理: GitHub提供强大的分支管理功能,使开发者能够在不影响主要代码的情况下进行并行开发和实验性工作。
  4. 问题跟踪: 通过GitHub的问题跟踪系统,开发者可以报告问题、讨论新功能、提出建议,并在整个团队中进行透明的协作。
  5. 合并请求: 开发者可以通过合并请求向项目的主分支提交更改,同时进行讨论、审查代码,并最终将更改合并到主代码库中。
  6. 团队协作: GitHub支持多用户协作,允许开发者在同一项目中合作,并通过权限系统控制对存储库的访问权限。
  7. 自动化工具: GitHub集成了各种自动化工具和服务,如持续集成(Continuous Integration)和持续部署(Continuous Deployment),以简化开发流程。
  8. 社交网络: 开发者可以在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的addcommitpush这三个命令按同样原理上传文件(仓库)即可。


我是EC,一个永远在学习中的探索者,关注我,让我们一起进步!

文末标志

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

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

相关文章

在线部署ubuntu20.04服务器,安装jdk、mysql、redis、nginx、minio、开机自启微服务jar包

一、服务器 1、查看服务器版本 查看服务器版本为20.04 lsb_release -a2、服务器信息 服务器初始账号密码 sxd / 123456 首先,更改自身密码都输入123456 sudo passwd 创建最高权限root账号,密码为 123456 su root 3、更新服务器源 1、更新源列表 sudo apt-g…

tomcat优化与部署(三)------nignx优化与nginx +tomcat 部署

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

简单题我重拳出击

有请第一位嘉宾:. - 力扣(LeetCode) 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 n…

代码随想录训练营第40天 | LeetCode 343. 整数拆分

LeetCode 343. 整数拆分 文章讲解:代码随想录(programmercarl.com) 视频讲解:动态规划,本题关键在于理解递推公式!| LeetCode:343. 整数拆分_哔哩哔哩_bilibili 思路 代码如下: ​​​​​​LeetCode 96…

【产品应用】一体化步进伺服电机在绿光激光打标机中的应用

随着科技的不断发展,激光打标技术已经成为现代工业生产中不可或缺的一部分。绿光激光打标机以其高精度、高效率、高可靠性等特点,广泛应用于各种材料的标记与打标。而在绿光激光打标机中,一体化步进电机的应用则为其带来了更高的性能与更稳定…

Lesson 5 Classification(short version)

听课(李宏毅老师的)笔记,方便梳理框架,以作复习之用。本节课主要讲了回归和分类的区别,分类的过程,分类的损失函数。这节课比较简短。 1. 回归和分类的区别 回归只是输出一个预测的值分类是输出预测的cla…

【Leetcode每日一刷】数组|双指针篇:977. 有序数组的平方、76. 最小覆盖子串(附滑动窗口法详解)

力扣每日刷题 一、977. 有序数组的平方1.1题目1.2、解题思路1.3、代码实现——C 二、76. 最小覆盖子串2.1:题目2.2、解题思路2.3:代码实现——c2.4:易错点 一、977. 有序数组的平方 1.1题目 [题目链接]( 1.2、解题思路 题型:双…

请编程输出无向无权图各个顶点的度 ← STL vector 模拟邻接表存图

【题目描述】 请利用 STL vector 模拟邻接表存图,编程输出无向无权图各个顶点的度。【输入样例】 5 6 1 3 2 1 1 4 2 3 3 4 5 1【输出样例】 4 2 3 2 1【算法分析】 本例利用 STL vector 模拟实现邻接表。代码参见:https://blog.csdn.net/hnjzsyjyj/arti…

服务器配置禁止IP直接访问,只允许域名访问

联网信息系统需设置只允许通过域名访问,禁止使用IP地址直接访问,建议同时采用云防护技术隐藏系统真实IP地址且只允许云防护节点IP访问服务器,提升网络安全防护能力。 一、Nginx 修改配置文件nginx.conf,在server段里插入正则表达式…

Redis系列之持久化机制RDB和AOF

Redis系列之持久化机制RDB和AOF 文章目录 1. 为什么需要持久化?2. 持久化的方式3. RDB机制3.1 RDB机制介绍3.2 配置RDB3.3 什么时候触发3.4 操作实例3.5 RDB优势和不足 4. AOF机制4.1 什么是AOF机制?4.2 同步机制4.3 重写机制4.4 AOF的优势和不足 混合模…

C++的面向诗篇:类的叙事与对象的旋律

个人主页:日刷百题 系列专栏:〖C/C小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 🌎欢迎各位→点赞👍收藏⭐️留言📝 ​ ​ 一、面向对象的定义 学习C语言时,我们就经常听说C语言是面向过程的,…

3.7号freeRtoS

1. 串口通信 配置串口为异步通信 设置波特率,数据位,校验位,停止位,数据的方向 同步通信 在同步通信中,数据的传输是在发送端和接收端之间通过一个共享的时钟信号进行同步的。这意味着发送端和接收端的时钟需要保持…

LiveNVR监控流媒体Onvif/RTSP功能-视频广场点击在线或离线时展示状态记录快速查看通道离线原因

LiveNVR视频广场点击在线或离线时展示状态记录快速查看通道离线原因 1、状态记录1.1、点击在线查看1.2、点击离线查看 2、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、状态记录 1.1、点击在线查看 可以点击视频广场页面中, 在线 两个字查看状态记录 1.2、点击离线查…

学习笔记—功能测试的基础认知

除了测试工作之外,其他流程并行 优点: 软件测试出测试执行外,还有很多工作 软件测试完全独立,其他流程并发进行 具有很强的灵活性 缺点: 管理型要求高 技能要求高 测试就绪点分析困难 测试用例的定义 测试用例…

Java List集合取交集的八种不同实现方式

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在Java中,取两个List集合的交集可以通过多种方式实现,包括使用Java 8的Stream API、传统的for循环遍历、使…

DeepLearning in Pytorch|我的第一个NN-共享单车预测

目录 概要 一、数据准备 导入数据 数据可视化 二、设计神经网络 版本一 版本二(正片) 三、测试 小结 概要 我的第一个深度学习神经网络模型---利用Pytorch设计人工神经网络对某地区租赁单车的使用情况进行预测 输入节点为1个,隐含…

安装及管理docker

文章目录 1.Docker介绍2.Docker安装3.免sudo设置4. 使用docker命令5.Images6.运行docker容器7. 管理docker容器8.创建image9.Push Image 1.Docker介绍 Docker 是一个简化在容器中管理应用程序进程的应用程序。容器让你在资源隔离的进程中运行你的应用程序。类似于虚拟机&#…

PyTorch基础(20)-- torch.gt() / torch.ge() / torch.le() / torch.lt()方法

一、前言 嗯……最近遇到的奇奇怪怪的方法很多了,学无止境啊!学不完啊,根本学不完!本篇文章介绍四个方法:torch.gt()、torch.ge()、torch.le()和torch.lt()方法,由于这四个方法很相似,所以放到…

灯塔:CSS笔记(2)

一 选择器进阶 后代选择器:空格 作用:根据HTML标签的嵌套关系,,选择父元素 后代中满足条件的元素 选择器语法:选择器1 选择器2{ css } 结果: *在选择器1所找到标签的后代(儿子 孙子 重孙子…

Docker常见命令使用

Docker命令是使用Docker的基础。这里记录下Docker日常运维过程中经常使用到的一些命令,更全面的命令还请参考Docker官网。 docker用法概述 Docker命令可以通过CLI工具实现与服务器的交互。Docker命令的语法如下: docker [DOCKER-COMMAND] [OPTIONS] […