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

GitHub简介与安装使用入门教程

image-20240723083340777

1、Git与GitHub的简介

Git是目前世界上最先进的分布式控制系统,它允许开发者跟踪和管理源代码的改动历史记录等,可以将你的代码恢复到某一个版本,支持多人协作开发。它的核心功能包括版本控制、分支管理、合并和冲突解决等,其操作是基于命令行,可以在本地计算机上离线工作。

GitHub是一个基于Git的在线托管平台/仓库,它提供了托管服务和一系列协作工作,还提供了用户界面等,同时具有一些社交属性,例如关注其他用户、star项目等。

总之,Git是一个系统和工具,而GitHub是使用Git的平台。很多时候开发者在本地使用Git进行版本控制,在Github上进行共享和协作。

此外,感觉如果前期水平低的时候,根本用不到Git,很多时候很多人只是需要从GitHub上下载资源或者寻求问题答案。

2、Git的安装与简单入门

Git的安装比较简单,直接在官网(https://git-scm.com/downloads)下载不同平台的安装包,使用默认的设置等进行安装即可。

image-20240723084123277

Git的一些操作在网上都有比较完整的教程,包括Git的思维导图或者常用命令表等。以下思维导图来自GitHub用户kur-archive,常用命令表来自W3Cschool网站,还包括一些其他参考博客入门篇 - 《猴子都能懂的GIT入门》 - 书栈网 · BookStack、https://nulab.com/zh-cn/learn/software-development/git-tutorial/,以及Git的官方文档等。

思维导图

常用命令速查表

(1)配置用户信息

打开CMD,输入:git config --list,查看当前信息。

因为我之前使用过GitHub,所以我的用户名和邮箱是有信息的。

image-20240723090458528

但是如果是之前没有安装使用过GitHub或者Gitee,需要先配置用户信息。使用如下命令:

git config --global user.name xxx
git config --global user.email xxx.com

(2)新建本地仓库

使用Git仓库来管理自己的项目。在要设置为仓库的文件夹中,右键–在终端中打开,输入代码:git init,该命令会在当前文件夹创建一个.git的隐藏目录。

(3)跟踪指定文件并提交更新

使用代码:git add 文件名将指定文件从工作区(workspace)保存到暂存区(index/stage);使用代码git commit -m "引号中可以添加提交说明" 将暂存区的更改提交到本地仓库(repository)中。

(4)查看历史版本

使用代码:git log查看更改的历史信息。

3、GitHub申请与简单入门

GitHub的申请首先需要解决的问题是GitHub网站的访问。临时的学习可以使用例如一些Web插件解决,但是长久的使用还是只能通过氪金解决。当你解决GitHub官方访问这一问题后,其他都不再是问题。

GitHub的申请在网络上有很多教程,这里为大家推荐一下官方文档(https://docs.github.com/zh/get-started/start-your-journey/creating-an-account-on-github),当然大家也可以申请GitHub学生包。

关于GitHub的使用,我们也是推荐官方的帮助文档:https://docs.github.com/zh/get-started/start-your-journey,但是帮助文档中只有部分内容是有中文的。下面介绍几个常用的功能。

(1)资源下载

从网页端下载资源很简单,搜索到自己需要的内容之后,最常用的就是直接下载压缩文件,当然也可以尝试在桌面端打开。

image-20240723194719549

通过桌面端GitHub打开会通过克隆仓库的方式,可以修改默认的克隆地址等。

image-20240723194829270

当然,如果你对这个项目感兴趣,想关注他的更新等,也可以通过Star设置星标,进行项目的关注。或者通过follow某个开发人员,来实现持续的关注。

(2)建库

建库方式比较简单,打开你的主页,点击New。

image-20240723195447473

接下来输入项目名称、项目的描述、设置项目为私人代码库或公共代码库、添加readme文件等。

image-20240723195654608

也可以使用客户端克隆库到本地、创建辅助库、在云盘新建库等。

image-20240723200258423

后续等我们学了新的东西后,可能还会上传代码。目前还没达到要上传代码的水平,就先不学习了。

4、共享代码

4.1 共享文件夹

共享文件夹过程参考:https://cloud.tencent.com/developer/article/2398974。如果需要将自己的项目文件夹上传到GitHub进行共享,首先在GitHub建立需要上传的仓库,并clone仓库地址。如果说仅仅上传单个文件,可以使用Add files进行拖动上传,不一定需要使用代码,但是上传文件夹无法直接拖动上传。

在需要上传的文件夹中右键,选择Open Git Bash here。

输入代码:git init,初始化本地仓库,会在本地仓库中出现.git文件夹,使用记事本打开.git文件夹中config文件。

手动添加GitHub用户名和邮箱信息。

之后使用代码:git branch -m master main,将默认的主分支名称从master改为main。

接下来使用代码:git remote add origin clone的远程仓库地址连接到远程仓库。

在添加或更新之前,确保本地仓库是最新的,之后执行代码:git pull origin main,同步远程仓库的信息,获取最新的更改。

同时,网上教程还提到了如果出现不相关历史的错误提示,可以使用如下代码:git pull origin main --allow-unrelated-histories。如果需要提交,使用代码:git add .,将文件添加到暂存区;之后使用 git commit -m "你的提交信息"进行提交并添加提交信息,我这里上传了105个文件。

此外,网上教程介绍了可以使用SSH协议,而不是HTTPS。使用SSH需要在 GitHub 上添加 SSH 公钥,然后将远程仓库 URL 更改为 SSH 格式。

最后一步是上传项目,使用代码:git push origin main

运行代码后打开自己的GitHub仓库,就可以看到上传的项目文件夹了。

此外,Gitee总体步骤大概接近,可以借鉴教程:https://blog.csdn.net/qqliuzhitong/article/details/119319592,其也支持直接从GitHub导入仓库。

大概接近,可以借鉴教程:https://blog.csdn.net/qqliuzhitong/article/details/119319592,其也支持直接从GitHub导入仓库。

相关文章:

GitHub简介与安装使用入门教程

1、Git与GitHub的简介 Git是目前世界上最先进的分布式控制系统,它允许开发者跟踪和管理源代码的改动历史记录等,可以将你的代码恢复到某一个版本,支持多人协作开发。它的核心功能包括版本控制、分支管理、合并和冲突解决等,其操作…...

HTML(五)列表详解

在HTML中&#xff0c;列表可以分为两种&#xff0c;一种为有序列表。另一种为无序列表 今天就来详细讲解一下这两种列表如何实现&#xff0c;效果如何 1.有序列表 有序列表的标准格式如下&#xff1a; <ol><li>列表项一</li><li>列表项二</li>…...

SparkSQL介绍及使用

SparkSQL介绍及使用 一、什么是SparkSQL&#xff08;了解&#xff09; spark开发时可以使用rdd进行开发&#xff0c;spark还提供saprksql工具&#xff0c;将数据转为结构化数据进行操作 1-1 介绍 官网&#xff1a;https://spark.apache.org/sql/ Spark SQL是 Apache Spark 用于…...

【聚星文社】3.2版一键推文工具更新啦

【聚星文社】3.2版一键推文工具更新啦。调试了好几个通宵就是为了效果和质量。 旧版尽早更新新版&#xff0c;从此告别手搓&#xff01; 工具入口https://iimenvrieak.feishu.cn/docx/ZhRNdEWT6oGdCwxdhOPcdds7nof...

C++基础补充(03)C++20 的 std::format 函数

文章目录 1. 使用C20 std::format2. 基本用法3. 格式说明 1. 使用C20 std::format 需要将VisualStudio默认的标准修改为C20 菜单“项目”-“项目属性”&#xff0c;打开如下对话框 代码中加入头文件 2. 基本用法 通过占位符{}制定格式化的位置&#xff0c;后面传入变量 #…...

[论文笔记]DAPR: A Benchmark on Document-Aware Passage Retrieval

引言 今天带来论文DAPR: A Benchmark on Document-Aware Passage Retrieval的笔记。 本文提出了一个基准&#xff1a;文档感知段落检索(Document-Aware Passage Retrieval,DAPR)以及介绍了一些上下文段落表示的方法。 为了简单&#xff0c;下文中以翻译的口吻记录&#xff0c…...

Spring Boot知识管理:智能搜索与分析

3系统分析 3.1可行性分析 通过对本知识管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本知识管理系统采用JAVA作为开发语言&#xff0c;Spring Boot框…...

操作系统(2) (进程调度/进程调度器类型/三种进程调度/调度算法)

目录 1. 介绍进程调度&#xff08;Introduction to Process Scheduling&#xff09; 2. 优先级调度&#xff08;Priority Scheduling&#xff09; 3. CPU 利用率&#xff08;CPU Utilization&#xff09; 4. 吞吐量&#xff08;Throughput&#xff09; 5. 周转时间&#xf…...

鸿蒙--知乎评论

这里我们将采用组件化的思想进行开发 在开发中默认展示的是首页也就是 pages/Index.ets页面 这里存放的是所有页面的配置文件,类似与uniapp中的pages.json 如果我们此时要更改默认显示Zh...

2024 - 两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信(C语言版本)

两台CentOS服务器上的1000个Docker容器&#xff08;每台500个&#xff09;之间实现UDP通信(C语言版本) 给女朋友对象写得&#xff0c;她不会&#xff0c;我就写了一个 为了帮助您在两台CentOS服务器上的1000个Docker容器&#xff08;每台500个&#xff09;之间实现UDP通信&…...

小程序该如何上架

小程序的上架流程通常包括准备工作、代码审核、人工审核以及上线发布等关键步骤。以下是一个详细的小程序上架指南&#xff1a; 一、准备工作 注册开发者账号&#xff1a; 在微信小程序平台或支付宝开放平台等相应的小程序发布平台上注册开发者账号。 开发小程序&#xff1a; …...

XMOJ3065 旅游线路

10分钟没啥思路就去看题解了&#xff0c;结果发现很蠢。 题目大意 有一条河&#xff0c;河的东侧和西侧分别有 n , m n,m n,m 个景点&#xff0c;每个景点有个权值。有 k k k 条船&#xff0c;每条船连接东侧和西侧的一个景点。定义一个旅游线路是通过船连接起来的景点序列…...

量化之一:均值回归策略

文章目录 均值回归策略理论基础数学公式 关键指标简单移动平均线&#xff08;SMA&#xff09;标准差Z-Score 交易信号实际应用优缺点分析优点缺点 结论 实践backtrader参数&#xff1a;正常情况&#xff1a;异常情况&#xff1a; 均值回归策略 均值回归&#xff08;Mean Rever…...

NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?

文章目录 Bluefield上的硬件介绍启动流程启动流程:eMMC中的两个存储分区:ATF介绍ATF启动的四个阶段:四个主要步骤:各个阶段依赖的启动文件一次烧录fw失败后的信息看启动流程综述Bluefield上的硬件介绍 本文以Bluefield2为例,可以看到RSHIM实际上是Boot相关的集合。也能看…...

最优美公式-欧拉公式,轻松理解版

Alan Becker创作的火柴人大战数学的打斗视频&#xff0c;风靡一时&#xff0c;并在B站荣耀斩获了“金知奖”。下面是网友对此视频的部分评价截图。 视频原址&#xff1a;火柴人 vs 数学&#xff0c;后续又一口气看完了“火柴人vs 几何”与“火柴人vs 物理”&#xff0c;通过火柴…...

【力扣 | SQL题 | 每日3题】力扣1107,1112, 1077

今天三道mid题都可以用窗口函数轻松秒杀。 1. 力扣1107&#xff1a;每日新用户统计 1.1 题目&#xff1a; Traffic 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | user_id | int | | activity | enum …...

计算机网络(十一) —— 数据链路层

目录 一&#xff0c;关于数据链路层 二&#xff0c;以太网协议 2.1 局域网 2.2 Mac地址 2.3 Mac帧报头 2.4 MTU 三&#xff0c;ARP协议 3.1 ARP是什么 3.2 ARP原理 3.3 ARP报头 3.4 模拟ARP过程 3.5 ARP周边问题 四&#xff0c;NAT技术 4.1 NAT技术背景 4.2 NAT转…...

使用PyTorch从0实现Fashion-MNIST数据集分类

完整代码&#xff1a; from d2l import torch as d2l import torch from torchvision import transforms from torchvision import datasets from torch.utils.data import DataLoader import matplotlib.pyplot as plt from IPython import displaydef get_fashion_mnist_la…...

Java数组的值拷贝和地址拷贝

在Java中&#xff0c;数组的值拷贝和地址拷贝是两种不同的操作。 值拷贝是指将一个数组的值复制到另一个新的数组中。这意味着新数组和原数组独立存在&#xff0c;修改其中一个数组不会影响另一个数组。Java中的数组是对象&#xff0c;所以通过值拷贝操作实际上是复制了数组对…...

类与对象 中(剩余部分) 以及 日历

运算符重载 • 当运算符被⽤于类类型的对象时&#xff0c;C语⾔允许我们通过运算符重载的形式指定新的含义。C规定类类型对象使⽤运算符时&#xff0c;必须转换成调⽤对应运算符重载&#xff0c;若没有对应的运算符重载&#xff0c;则会编译报错。 • 运算符重载是具有特名字的…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...