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

【Git】Git 学习笔记_操作本地仓库

1. 安装与初始化配置

1.1 安装

下载地址

在文件夹里右键点击 git bash here 即可打开命令行面板。

git -v // 查看版本

1.2 配置

git config --global user.name "heo"
git config --global user.email xxx@gmail.com
git config --global credential.helper store   // 保存
git cnofig --global --list   //  查看配置信息

在这里插入图片描述

2. 新建仓库

mkdir learn-git  // 创建文件夹
git init  [xx]  // 初始化 git 仓库,为仓库名【可选】
ls -a  // 查看该目录下所有文件
ls -altr  // 查看该目录下所有文件的详细信息 或者  -ltr
rm -rf  // 删除某个文件夹,删除 .git 文件夹即变成普通文件目录
git clone https://github.com/xx/xx.git  // 克隆 github 仓库到本地

3. 工作区域和文件状态

在这里插入图片描述

在这里插入图片描述

4. 添加和提交文件

git status  // 查看仓库状态
echo "这是第一个文件" > file1.txt  // 将回显的内容输出到一个文件内
cat file1.txt  // 查看文件内容
git add file1.txt // 将该文件提交到暂存区(文件状态从红色变为绿色)
git commit -m "第一次提交"  // 提交文件到本地仓库,只能提交本身在暂存区的文件
mv file.txt file4.txt  // 修改文件名从 file.txt 改为 file4.txt
git add *.txt  // 通配符
git add .  // 提交所有文件到暂存区
git commit // 提交到本地仓库,然后会进入 vim 编辑器,编辑提交信息
git log  // 查看提交本地仓库的日志
git log --oneline // 查看简略的日志

5. 回退版本

在这里插入图片描述

--mixed 为默认参数。

git reflog  // 查看操作的历史记录
cp -rf repo repo-copy  // 复制仓库
git reset --soft <要回退的版本id>  // 回退到某个版本
ls  // 查看工作区的内容
git ls-files  // 查看暂存区的内容

要谨慎使用 --hard ,但是误操作后不用担心,可以根据操作历史记录通过 reset 回溯到误操作前的版本。比如:git reset --hard <版本号>

6. 查看差异

git diff

默认比较工作区和暂存区的内容。

在这里插入图片描述

当我们将它提交到暂存区,再用 git diff 查看,发现没有输出内容了。

使用 git diff HEAD 比较工作区和版本库之间的差异。操作发现又会输出以上信息,因为此时我们还未提交。HEAD 指向分支的最新提交节点。

使用 git diff --cached 比较暂存区和版本库之间的差异。操作发现又会输出以上信息。

然后我们进行提交。上述两种操作就没有任何输出了。

git diff 版本号1 版本号2 就可以查看两次版本之间的差异。

git diff HEAD~ HEAD 或者 git diff HEAD^ HEAD 查看最新提交和上一次提交的差异。

git diff HEAD~2 HEAD 查看最新提交和 2 次前提交的版本的差异。

git diff HEAD~ HEAD file3.txt 查看某文件的信息。

7. 删除文件

rm file1.txt 删除工作区的文件,但是没有删除暂存区的文件。

git ls-files 查看暂存区的文件。

git add file1.txt 可以“隐性”的从暂存区删除文件。

git rm file2.txt 同时删除工作区和暂存区的内容。

git rm --cached file.txt 从暂存区删除文件,但保留在当前工作区中。

然后进行提交,否则删除的文件在版本库中还是存在的。git commit -m "delete"

8. .gitignore文件

忽略掉不应该被加入到版本库中的文件,不会控制到已经添加到版本库中的文件。

存放应该被忽略的文件:

  1. 系统或者软件自动生成的文件
  2. 编译产生的中间文件和结果文件
  3. 运行时生成的日志文件、缓存文件和临时文件
  4. 涉及身份、密码、口令、秘钥等敏感信息的文件

echo example.log > .gitignore

-am 参数 同时完成添加至暂存区和提交至仓库的两个操作。

echo >> 是在文本后面追加一行的意思。

空文件夹不会被纳入版本控制中。

git status -s 查看状态的简略模式。
在这里插入图片描述
?? 第一个问号表示暂存区的状态,第二个问号表示工作区的状态。

将文件夹添加到 .gitignore 中,temp/ ,忽略文件夹。

.gitignore 文件夹匹配规则:https://git-scm.com/docs/gitignore

从上到下按行匹配,每一行代表一个忽略模式。

  • 空行或者以#开头的行会被Git忽略。一般空行用于可读性的分隔,#一般用作注释
  • 使用标准的glob模式匹配,例如:星号*通配任意个字符;问号匹配单个字符;中括号[]表示匹配列表中的单个字符,比如: [abc]表示a/b/c
  • 两个星号 ** 表示匹配任意的中间目录
  • 中括号可以使用短中线连接,比如:[0-9] 表示任意一位数字, [a-z]表示任意一位小写字母
  • 感叹号 表示取反
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a文件
!lib.a
# 只忽略当前目录下的TODO文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

相关文章:

【Git】Git 学习笔记_操作本地仓库

1. 安装与初始化配置 1.1 安装 下载地址 在文件夹里右键点击 git bash here 即可打开命令行面板。 git -v // 查看版本1.2 配置 git config --global user.name "heo" git config --global user.email xxxgmail.com git config --global credential.helper stor…...

杂记(3):在Pytorch中如何操作将数据集分为训练集和测试集?

在Pytorch中如何操作将数据集分为训练集和测试集&#xff1f; 0. 前言1. 手动切分2. train_test_split方法3. Pytorch自带方法4. 总结 0. 前言 数据集需要分为训练集和测试集&#xff01; 其中&#xff0c;训练集单纯用来训练&#xff0c;优化模型参数&#xff1b;测试集单纯用…...

【MySQL篇】数据库角色

前言 数据库角色是被命名的一组与数据库操作相关的权限&#xff0c;角色是权限的集合。因此&#xff0c;可以为一组具有相同权限的用户创建一个角色&#xff0c;使用角色来管理数据库权限可以简化授权的过程。 CREATE ROLE&#xff1a;创建一个角色 GRANT&#xff1a;给角色授…...

c++ 信奥赛编程 2050:【例5.20】字串包含

#include<iostream> #include<cstring> using namespace std; int main() {string str1,str2;int temp;cin>>str1>>str2;//判断长度 if(str1.size()<str2.size()){ swap(str1,str2); //交换内容 }str1str1str1; //AABCDAABCDAABCDAABCDif(str…...

用dbeaver创建一个enum类型,并讲述一部分,mysql的enum类型的知识

写这个博客的目的就是我在网上看了半天&#xff0c;发现没有这方面的知识&#xff0c;也许是老手认为这个太简单了&#xff0c;不过我还是告诉新人使用dbeaver来创建一个enum类型的方法&#xff1a; 就是enum("a","b","name") 第一步用dbeaver…...

Paste v4.1.2(Mac剪切板)

Paste for Mac是一款运行在Mac OS平台上的剪切板小工具&#xff0c;拥有华丽的界面效果&#xff0c;剪切板每一条记录可显示&#xff08;预览&#xff09;文本&#xff0c;图片等记录的完整内容&#xff0c;可以记录最近指定条数的剪切板信息&#xff0c;方便用户随时调用&…...

事件绑定-回调函数

1.事件的概念 2.小程序常用的事件集 2.1 bindtap 点击回调事件方法 2.1.1语法格式 2.1.2 事件处理中调用data 使用setDatacount&#xff1a;这种方式 直接使用this.data.count 2.1.3 事件处理中传参 错误示范&#xff1a; 传递方式&#xff1a;数值用{{}}&#xff0c;直接引…...

Makefile 总述

目录 一、Makefile 里有什么&#xff1f; 1、显式规则 2、隐晦规则 3、变量的定义 4、文件指示 5、注释 二、Makefile 的文件名 三、引用其它的 Makefile 四、环境变量 MAKEFILES 五、make 的工作方式 一、Makefile 里有什么&#xff1f; Makefile 里主要包含了五个东…...

写给新用户-Mac软件指南篇:让你的Mac更好用

用了macOS也有小四年了&#xff0c;今天打算分享一下Mac上的常用软件&#xff0c;说不上精通&#xff0c;但也算是有一些心得体会。平时也会定期对软件做整理&#xff0c;所以有了这篇文章。如果能帮到刚刚接触macOS或正在寻觅软件的你&#xff0c;那当然再好不过了。 软件推荐…...

03运算符综合

03 3.1.1算数运算符 3.1.2赋值运算符 3.1.3比较&#xff08;关系&#xff09;运算符 3.1.4逻辑运算符 3.1.5位运算符 3.2运算符的优先级 3.3条件表达式...

LeetCode刷题--思路总结记录

23-11-08每日一题&#xff1a;2609.最长平衡子字符串 链接&#xff1a;2609.最长平衡子字符串 总体思路&#xff1a; 平衡字符串要求“字符串前半段的0和后半段的1个数相同” > 分别记录0和1的计数结果&#xff0c;并最终取二者的最小值2字符串必须0开头&#xff0c;1结束 …...

Nodejs

node是运行js的环境 node 基础命令 // 初始化 // npm init // npm init -y// 全部选择yes // 安装包 // npm install 包名 // npm i// 安装package-lock.json里面所有的包到node_modules // npm i 包名// 安装当前最新版&#xff0c; // npm i 包名版本号//指定版本安装 // n…...

【面经】spring,springboot,springcloud有什么区别和联系

Spring、SpringBoot、SpringCloud都是Java开发中的重要框架&#xff0c;它们的作用和区别如下&#xff1a; Spring&#xff1a;是一个轻量级的开源框架&#xff0c;是为解决企业应用开发的复杂性而创建的。它提供了AOP&#xff08;面向切面编程&#xff09;和Ioc&#xff08;控…...

SpringBoot Kafka消费者 多kafka配置

一、配置文件 xxxxxx:kafka:bootstrap-servers: xx.xx.xx.xx:9092,xx.xx.xx.xx:9092consumer:poll-timeout: 3000key-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializer…...

git 标签相关命令

要在本地仓库中添加标签&#xff0c;你可以使用以下命令&#xff1a; git tag <tag_name> 这将在当前所处的提交上创建一个轻量级标签&#xff08;lightweight tag&#xff09;。如果你想要创建一个带有附注信息的标签&#xff0c;可以使用 -a 选项&#xff1a; git t…...

我在Vscode学OpenCV 图像运算(权重、逻辑运算、掩码、位分解、数字水印)

文章目录 权重 _ 要求两幅图像是相同大小的。[ 1 ] 以数据说话&#xff08; 1&#xff09; 最终&#xff1a;&#xff08; 2 &#xff09;gamma _输出图像的标量值 [ 2 ] 图像的展现力gamma并不等同于增加曝光度&#xff08; 1 &#xff09;gamma100&#xff08; 2 &#xff09…...

【 Docker: 数据卷挂载】

背景 Docker只提供了容器运行的必备依赖&#xff0c;但是一些编辑等操作的依赖是不支持的&#xff0c;如vi操作容器内部文件、将静态资源拷贝到容器内来等。 docker pull nginx docker run -d -p 81:80 --namemynginx -v D:/docker/nginx/www:/usr/share/nginx/www -v D:/dock…...

windows上的静态链接和动态链接的区别与作用(笔记)

C源代码文件经过预编译、编译和汇编后输出的目标文件的后缀和操作系统是有关系的。不同的操作系统使用不同的命名约定和文件格式来表示目标文件。常见的目标文件后缀包括&#xff1a; - Windows系统&#xff1a;.obj、.lib、.dll - Linux系统&#xff1a;.o、.a、.so - macOS系…...

MySQL和Postgresql数据库备份和恢复

MySQL和Postgresql数据库备份和恢复 一、MySQL数据库备份 备份单个数据库 $ mysqldump -uroot -p bdname > dbname.sql备份多个数据库 $ mysqldump -uroot -p --databases dbname1 dbname2 ... > dbname.sql # 备份所有数据库 $ mysqldump -uroot -p --all-databases…...

使用MCU上的I2C总线进行传感器应用

使用MCU上的I2C总线进行传感器应用是嵌入式系统开发中常见的任务&#xff0c;本文将介绍在MCU上实现I2C总线传感器应用的相关技术和流程。 首先&#xff0c;I2C&#xff08;Inter-Integrated Circuit&#xff09;总线是一种常用的串行通信协议&#xff0c;用于连接多个设备&am…...

互联网大厂Java求职者面试:从核心语言到微服务的全景探讨

互联网大厂Java求职者面试&#xff1a;从核心语言到微服务的全景探讨在互联网大厂的Java开发岗位面试中&#xff0c;候选人燕双非与面试官进行了一场精彩的对话。面试官严肃而专业&#xff0c;而燕双非则以幽默风趣的方式应对各种技术问题。以下是他们的对话记录&#xff1a;第…...

Real-Anime-Z 模型数据库集成:使用 MySQL 管理生成任务与作品

Real-Anime-Z 模型数据库集成&#xff1a;使用 MySQL 管理生成任务与作品 1. 为什么需要数据库管理AI绘画服务 想象一下你运营着一个AI绘画平台&#xff0c;每天有成千上万的用户提交生成请求。如果没有数据库&#xff0c;这些请求会像一堆散落的便利贴&#xff0c;难以追踪和…...

论文图表不用愁,Paperxie 科研绘图一键搞定

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/科研绘图https://www.paperxie.cn/drawinghttps://www.paperxie.cn/drawing 写毕业论文时&#xff0c;最磨人的环节之一&#xff0c;大概就是绘制图表了。对着 Excel 反复调整数据格式&#xff0c;用 Visio…...

7步打造智能农田监测系统:用ntfy实现灾害实时预警(零代码方案)

7步打造智能农田监测系统&#xff1a;用ntfy实现灾害实时预警&#xff08;零代码方案&#xff09; 【免费下载链接】ntfy Send push notifications to your phone or desktop using PUT/POST 项目地址: https://gitcode.com/GitHub_Trending/nt/ntfy ntfy是一款轻量级的…...

麒麟V10/龙蜥arm架构二进制安装mysql8.0.36

一、安装前环境监测 在MySQL被收购后&#xff0c;MySQL最初的作者担心MySQL存在闭源的风险&#xff0c;在MySQL的分支上开发了mariadb。后来一些Linux分发版就将mariadb作为系统默认安装的数据库系统 rpm -qa |grep -i mariadb#可能显示的结果&#xff1a;mariadb-libs-5.5.6…...

别再只懂RBAC了!用ABAC搞定复杂业务权限,看这篇就够了(附Spring Security实战)

从RBAC到ABAC&#xff1a;构建下一代动态权限系统的实战指南 在电商后台系统开发中&#xff0c;你是否遇到过这样的场景&#xff1a;VIP用户只能在促销时段修改特定类目商品价格&#xff0c;而普通管理员仅能在工作日操作非敏感商品&#xff1f;传统RBAC&#xff08;基于角色的…...

城通网盘直连解析工具:告别限速下载的完整解决方案

城通网盘直连解析工具&#xff1a;告别限速下载的完整解决方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾为城通网盘的龟速下载而烦恼&#xff1f;想象一下&#xff0c;当你急需下载一份重…...

从DALL-E 2到Stable Diffusion:深入聊聊‘无分类器引导’技术是如何让AI画画更听话的

从DALL-E 2到Stable Diffusion&#xff1a;解密无分类器引导如何重塑AI绘画控制力 当DALL-E 2在2022年首次展示其惊人的图像生成能力时&#xff0c;技术社区很快注意到其与同期开源的Stable Diffusion在控制逻辑上的微妙差异。这两种顶尖的文本到图像生成系统都依赖于扩散模型的…...

LED照明数字控制与MSP430微控制器应用实践

1. LED照明数字控制的核心原理LED照明系统的核心在于电流控制。与白炽灯不同&#xff0c;LED是电流驱动型器件&#xff0c;其亮度和色温直接取决于通过PN结的电流值。在实际工程中&#xff0c;我们通常采用恒流驱动方式&#xff0c;这源于LED的伏安特性曲线具有陡峭的非线性特征…...

2026 AI社交发展报告:Agent社交如何成为下一代数字生态的核心

数据来源&#xff1a;机乎平台2026年2-4月公开运营数据、Moltbook行业分析报告、长江证券研究报告&#xff08;2026年2月&#xff09;、国家网信办等五部门《人工智能拟人化互动服务管理暂行办法》&#xff08;2026年4月10日公布&#xff09;、GII全球AI社交市场报告&#xff0…...