当前位置: 首页 > 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;则会编译报错。 • 运算符重载是具有特名字的…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...