【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文件
忽略掉不应该被加入到版本库中的文件,不会控制到已经添加到版本库中的文件。
存放应该被忽略的文件:
- 系统或者软件自动生成的文件
- 编译产生的中间文件和结果文件
- 运行时生成的日志文件、缓存文件和临时文件
- 涉及身份、密码、口令、秘钥等敏感信息的文件
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中如何操作将数据集分为训练集和测试集? 0. 前言1. 手动切分2. train_test_split方法3. Pytorch自带方法4. 总结 0. 前言 数据集需要分为训练集和测试集! 其中,训练集单纯用来训练,优化模型参数;测试集单纯用…...
【MySQL篇】数据库角色
前言 数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。 CREATE ROLE:创建一个角色 GRANT:给角色授…...
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类型的知识
写这个博客的目的就是我在网上看了半天,发现没有这方面的知识,也许是老手认为这个太简单了,不过我还是告诉新人使用dbeaver来创建一个enum类型的方法: 就是enum("a","b","name") 第一步用dbeaver…...
Paste v4.1.2(Mac剪切板)
Paste for Mac是一款运行在Mac OS平台上的剪切板小工具,拥有华丽的界面效果,剪切板每一条记录可显示(预览)文本,图片等记录的完整内容,可以记录最近指定条数的剪切板信息,方便用户随时调用&…...
事件绑定-回调函数
1.事件的概念 2.小程序常用的事件集 2.1 bindtap 点击回调事件方法 2.1.1语法格式 2.1.2 事件处理中调用data 使用setDatacount:这种方式 直接使用this.data.count 2.1.3 事件处理中传参 错误示范: 传递方式:数值用{{}},直接引…...
Makefile 总述
目录 一、Makefile 里有什么? 1、显式规则 2、隐晦规则 3、变量的定义 4、文件指示 5、注释 二、Makefile 的文件名 三、引用其它的 Makefile 四、环境变量 MAKEFILES 五、make 的工作方式 一、Makefile 里有什么? Makefile 里主要包含了五个东…...
写给新用户-Mac软件指南篇:让你的Mac更好用
用了macOS也有小四年了,今天打算分享一下Mac上的常用软件,说不上精通,但也算是有一些心得体会。平时也会定期对软件做整理,所以有了这篇文章。如果能帮到刚刚接触macOS或正在寻觅软件的你,那当然再好不过了。 软件推荐…...
03运算符综合
03 3.1.1算数运算符 3.1.2赋值运算符 3.1.3比较(关系)运算符 3.1.4逻辑运算符 3.1.5位运算符 3.2运算符的优先级 3.3条件表达式...
LeetCode刷题--思路总结记录
23-11-08每日一题:2609.最长平衡子字符串 链接:2609.最长平衡子字符串 总体思路: 平衡字符串要求“字符串前半段的0和后半段的1个数相同” > 分别记录0和1的计数结果,并最终取二者的最小值2字符串必须0开头,1结束 …...
Nodejs
node是运行js的环境 node 基础命令 // 初始化 // npm init // npm init -y// 全部选择yes // 安装包 // npm install 包名 // npm i// 安装package-lock.json里面所有的包到node_modules // npm i 包名// 安装当前最新版, // npm i 包名版本号//指定版本安装 // n…...
【面经】spring,springboot,springcloud有什么区别和联系
Spring、SpringBoot、SpringCloud都是Java开发中的重要框架,它们的作用和区别如下: Spring:是一个轻量级的开源框架,是为解决企业应用开发的复杂性而创建的。它提供了AOP(面向切面编程)和Ioc(控…...
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 标签相关命令
要在本地仓库中添加标签,你可以使用以下命令: git tag <tag_name> 这将在当前所处的提交上创建一个轻量级标签(lightweight tag)。如果你想要创建一个带有附注信息的标签,可以使用 -a 选项: git t…...
我在Vscode学OpenCV 图像运算(权重、逻辑运算、掩码、位分解、数字水印)
文章目录 权重 _ 要求两幅图像是相同大小的。[ 1 ] 以数据说话( 1) 最终:( 2 )gamma _输出图像的标量值 [ 2 ] 图像的展现力gamma并不等同于增加曝光度( 1 )gamma100( 2 )…...
【 Docker: 数据卷挂载】
背景 Docker只提供了容器运行的必备依赖,但是一些编辑等操作的依赖是不支持的,如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源代码文件经过预编译、编译和汇编后输出的目标文件的后缀和操作系统是有关系的。不同的操作系统使用不同的命名约定和文件格式来表示目标文件。常见的目标文件后缀包括: - Windows系统:.obj、.lib、.dll - Linux系统:.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总线进行传感器应用是嵌入式系统开发中常见的任务,本文将介绍在MCU上实现I2C总线传感器应用的相关技术和流程。 首先,I2C(Inter-Integrated Circuit)总线是一种常用的串行通信协议,用于连接多个设备&am…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
