git新手使用教程
git新手使用教程
- 一、安装和初始化配置
- 2、新建仓库
- 3.工作区域和文件状态
- 4.添加和提交文件
- 5 git reset回退版本
- 6 使用git diff查看差异
- 7 使用git rm删除文件
- 8 .gitignore忽略文件
- 9 注册GitHub账号
- 10 SSH配置和克隆仓库
- 11 关联本地仓库和远程仓库
- 12 Gitee的使用
由B站视频教程整理而来。建议配合视频使用。
一、安装和初始化配置
安装教程地址
安装完成后,使用命令git -v查看安装版本
1.配置用户名:
终端输入git config --global user.name "your name",将替换成你的用户名(一般就和gitee上的用户名一致就行)
2.配置邮箱:
终端输入git config --global user.email "your email",将替换成gitee绑定的邮箱
3.保存用户名和密码,这样就不用每次都输入了:
终端输入git config --global credential.helper store
4.查看配置信息:终端输入git config --global --list

2、新建仓库
git init:将当前目录初始化为一个仓库
git init my-repo在当前目录下初始化一个名为my-repo的仓库



3.工作区域和文件状态
工作区就是自己在电脑上编写代码文件的初始位置,通过git add命令将自己编写的代码文件添加到暂存区,再通过git commit命令将暂存区中的文件提交到本地仓库。


4.添加和提交文件
git init:创建仓库
git status:查看仓库的状态
git add:添加到暂存区
git commit:提交
代码示例如下:


总结:
git status:查看仓库的状态
git add:添加到暂存区。
也可以使用通配符,例如:git add *.txt
也可以使用目录,例如:git add .
git commit: 提交
只提交暂存区中的内容,不会提交工作区中的内容
git log查看仓库提交历史记录
git log --oneline查看仓库的简洁提交记录
5 git reset回退版本
为了使得Git Bash样式改为一行显示,进行了如下修改
默认情况下在windows中安装git之后bash界面是这样的,也就是命令输入框会换行显示,看起来非常别扭。

为了跟linux bash一样,实现同行显示,只需要修改一下配置文件即可,,打开Git Bash,在命令行中输入:
vim ~/.bash_profile
填入以下内容
export PS1="\[\e[37;40m\]\[\e[32;40m\]\u\[\e[37;40m\]@\W\[\e[33;40m\]\$(__git_ps1 ['%s'])\[\e[32;40m\]\$\[\e[0m\] "
保存之后重启(效果如下):

正文开始:
reset命令用于回退版本,可以退回到之前的某一个提交的状态。
git reset的三种模式,区别在于保留或丢弃工作区和暂存区的内容。

第一步创建三个文件,进行了三次提交:

验证软回退:

验证硬回退:

验证混合回退:

6 使用git diff查看差异

git diff:比较工作区与暂存区
git diff HEAD:比较工作区与版本库
git diff --cached:比较暂存区与版本库
git diff <commit_hash> <commit_hash> /:比较不同版本(提交)之间的差异
git diff HEAD~ HEAD:比较最近两次提交的差异
git diff <branch_name> <branch_diff> /:比较分支之间的差异

验证效果

7 使用git rm删除文件


8 .gitignore忽略文件
这个文件的作用是可以让我们忽略掉一些不应该被加入到版本库中的文件。

9 注册GitHub账号
GitHub官网注册即可
10 SSH配置和克隆仓库
第一步,创建远程仓库:


第二步,创建SSH密钥:

第三步,将公钥复制到GitHub中:


第四步,克隆项目
Git是一种分布式的版本控制系统,我们的本地仓库和远程仓库是两个仓库,他们之间是相互独立的,我们可以在本地仓库中做任何修改,但是这些修改并不会影响到远程仓库,同样远程仓库的修改也不会影响到我们本地仓库,因此我们需要一种机制来同步本地仓库和远程仓库的修改内容,让他们的状态保持一致,那这个同步的过程就涉及到了Git中两个新的命令,pull和push,一个表示推送 一个表示拉取,push就是把本地仓库的修改推送给远程仓库,pull就是把远程仓库的修改拉取到本地仓库。

推送成功后,就可以在远程仓库中看到了

总结
ssh-keygen -t rsa -b 4096:生成SSH Key
私钥文件:id_rsa
公钥文件:id_rsa.pub
git clone repo-address:克隆仓库
git push <remote> <branch>:推送更新内容
git pull <remote>:拉取更新内容
11 关联本地仓库和远程仓库
如果我们本地已经有了一个仓库的话,怎样才能把它放到远程仓库里面呢?
首先在GitHub上创建一个新的仓库(first-repo)

操作如下

最后刷新一下远程仓库,可以看到推送成功了

同样的,同样地 如果我们在远程仓率修改了一些内容,那么就需要使用oull命令,来把远程仓库的修改拉取到本地。
首先在远程仓库中添加了一个文件README.md

接下来进行拉取

执行git pull的时候需要注意的一点就是,在执行完 git pull 之后,Git会自动为我们执行一次合并操作,如果远程仓库中的修改内容和本地仓库中的修改内容没有冲突的话,那么合并操作就会成功。否则合并操作就会由于冲突而失败,这个时候我们就需要手动来解决一下冲突。
从远程仓库获取内容还可以使用fetch命令,它们的区别在于fetch命令只是获取远程仓库的修改。但是并不会自动合并到本地仓库中,而是需要我们手动合并。
12 Gitee的使用
点击“账号设置”,找到SSH公钥位置,配置公钥。

创建一个仓库并拉取:


相关文章:
git新手使用教程
git新手使用教程 一、安装和初始化配置2、新建仓库3.工作区域和文件状态4.添加和提交文件5 git reset回退版本6 使用git diff查看差异7 使用git rm删除文件8 .gitignore忽略文件9 注册GitHub账号10 SSH配置和克隆仓库11 关联本地仓库和远程仓库12 Gitee的使用 由B站视频教程整理…...
运维发展方向
作为一名运维工程师,我建议可以从以下几个方面规划职业发展: 1. 夯实基础知识 - Linux 系统管理与优化 - 网络协议和架构 - 数据库运维(MySQL、PostgreSQL等) - Shell 脚本编程 - Python/Go 等自动化语言 2. 掌握现代化工具 - 容器技术(Docker、Kubern…...
jmeter常用配置元件介绍总结之函数助手
系列文章目录 1.windows、linux安装jmeter及设置中文显示 2.jmeter常用配置元件介绍总结之安装插件 3.jmeter常用配置元件介绍总结之取样器 jmeter常用配置元件介绍总结之函数助手 1.进入函数助手对话框2.常用函数的使用介绍2.1.RandomFromMultipleVars函数2.2.Random函数2.3.R…...
Pytorch从0复现worc2vec skipgram模型及fasttext训练维基百科语料词向量演示
目录 Skipgram架构 代码开源声明 Pytorch复现Skip-gram 导包及随机种子设置 维基百科数据读取 建立词频元组列表并根据词频排序 建立词频字典,word_id字典,id_word字典 二次采样 正采样与负采样 Skipgram模型类 模型训练 词向量输出 近义词寻找 fasttext训练Skip-…...
fastapi 查询参数支持 Pydantic Model:参数校验与配置技巧
fastapi 查询参数支持 Pydantic Model:参数校验与配置技巧 本文介绍了 FastAPI 中通过 Pydantic model 声明查询参数的使用方法,提供了更加灵活和强大的参数校验方式。通过将查询参数定义在 Pydantic model 中,开发者可以对参数设置默认值、…...
mysql 大数据查询
基于 mysql 8.0 基础介绍 com.mysql.cj.protocol.ResultsetRows该接口表示的是应用层如何访问 db 返回回来的结果集 它有三个实现类 ResultsetRowsStatic 默认实现。连接 db 的 url 没有增加额外的参数、单纯就是 ip port schema 。 @Test public void generalQuery() t…...
如何在 Spring Boot 中利用 RocketMQ 实现批量消息消费
文章目录 准备工作项目依赖配置 RocketMQ生产批量消息消费批量消息测试批量消息发送和消费总结推荐阅读文章 RocketMQ 是一款分布式消息队列,支持高吞吐、低延迟的消息传递。对于需要一次处理多条消息的场景,RocketMQ 提供了批量消费的机制,这…...
推荐一个Star超过2K的.Net轻量级的CMS开源项目
推荐一个具有模块化和可扩展的架构的CMS开源项目。 01 项目简介 Piranha CMS是一个轻量级且跨平台的CMS库,专为.NET 8设计。 该项目提供多种模板,具备CMS基本功能,也有空模板方便从头开始构建新网站,甚至可以作为移动应用的后端…...
基于驾驶员面部特征的疲劳检测系统
大家好,本文是对基于驾驶员面部特征的疲劳检测系统源码的介绍与说明。 项目下载:基于驾驶员面部特征的疲劳检测系统 1.关于项目 疲劳驾驶检测系统通过监测驾驶人的眼睛状态,头部状态,嘴部状态等指标,识别出疲劳迹象…...
前端知识点---字符串的8种拼接方法(Javascript)
文章目录 01使用 运算符(改变了原始字符串)02使用 运算符(改变了原本的字符串)03 使用 concat() 方法(不改变原本的字符串)04使用模板字面量(不改变原本的字符串)05使用 join() 方法(不改变原本的字符串)①指定分隔符 ②没有指定…...
用 Python 从零开始创建神经网络(一):编码我们的第一个神经元
编码我们的第一个神经元 引言1. A Single Neuron:Example 1Example 2 2. A Layer of Neurons:Example 1 引言 本教程专为那些对神经网络已有基础了解、但尚未动手实践过的读者而设计。尽管网上充斥着各种教程,但很多内容要么过于简略&#x…...
低代码开发
低代码(Low Code)是一种软件开发方法,它通过可视化界面和少量的编码来快速构建应用程序。低代码平台的核心理念是通过抽象和最小化手工编码的方式,加速软件开发和部署的过程。 定义 低代码是一种软件开发方法,它允许…...
sql server 文件和文件组介绍
sql server 文件和文件组介绍 数据库文件和文件组 - SQL Server | Microsoft Learn...
caozha-CEPCS(新冠肺炎疫情防控系统)
caozha-CEPCS,是一个基于PHP开发的新冠肺炎疫情防控系统,CEPCS(全称:COVID-19 Epidemic Prevention and Control System),可以应用于单位、企业、学校、工业园区、村落等等。小小系统,希望能为大…...
1Panel修改PostgreSQL时区
需求 1Panel安装的PostgreSQL默认是UTC时区,需要将它修改为上海时间 步骤 进入PostgreSQL的安装目录 /opt/1panel/apps/postgresql/postgresql/data打开postgresql.conf文件 修改: log_timezone Asia/Shanghai timezone Asia/Shanghai保存后重启…...
开发一个CRM系统难吗?CRM系统的实现步骤
越来越多企业意识到了,客户关系管理(CRM)系统已成为企业提升客户体验、推动销售增长的必备工具。一个高效的CRM系统不仅能够帮助企业优化客户数据管理,还能提升客户满意度,增强客户忠诚度,从而推动业务的持…...
kafka常见面试题总结
Kafka 核心知识解析 一、Kafka 消息发送流程 Kafka 发送消息涉及两个线程:main 线程和 sender 线程。在 main 线程中,会创建一个双端队列 RecordAccumulator,main 线程负责将消息发送给 RecordAccumulator,而 sender 线程则从 R…...
前端知识点---Javascript中检测数据类型函数总结
文章目录 01 typeof 运算符02 instanceof 运算符03 Array.isArray()04 Object.prototype.toString.call()05 constructor 属性06 isNaN() 和 Number.isNaN() (常用)07 isFinite() 和 Number.isFinite()08 typeof null 是 "object" 的问题 01 typeof 运算符 返回值是…...
aspose如何获取PPT放映页“切换”的“持续时间”值
aspose如何获取PPT放映页“切换”的“持续时间”值 项目场景问题描述问题1:从官方文档和资料查阅发现并没有对切换的持续时间进行处理的方法问题2:aspose的依赖包中,所有的关键对象都进行了混淆处理 解决方案1、找到ppt切换的持续时间对应的混…...
【MQTT】代理服务比较RabbitMQ、Mosquitto 和 EMQX
前言 目前要处理大量设备同时频繁发送数据的情况,MQTT协议确实是一个更优的选择,因为它特别适合需要低带宽和高效能的物联网应用,下面是对目前主流协议的对比 数据截止日期:2024年11月10日 基础设施 后端: springclo…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
接口 RESTful 中的超媒体:REST 架构的灵魂驱动
在 RESTful 架构中,** 超媒体(Hypermedia)** 是一个核心概念,它体现了 REST 的 “表述性状态转移(Representational State Transfer)” 的本质,也是区分 “真 RESTful API” 与 “伪 RESTful AP…...
