Git 从入门到精通
一、环境配置
下载地址:https://git-scm.com/downloads/
二、用户配置
找到git bash
git --version 查看当前版本
git config --global user.name szhipeng625 设置用户名
git config --global user.email szhipeng625@gmail.com 设置邮箱
git config --global --list 查看配置环境
git config --global credential.helper store 这段代码的作用是配置 Git 的全局凭据助手为 store 模式。这种模式会将你的 Git 凭据(如用户名和密码)以明文的形式存储在一个文件中,通常位于用户主目录下的 ~/.git-credentials 文件中。
当你配置了这个助手后,Git 在需要身份验证时会执行以下操作:
- 首次提交凭据时:Git 会询问你的用户名和密码,并将它们保存到
~/.git-credentials文件中。 - 后续操作时:Git 会直接从
~/.git-credentials中读取已保存的凭据,而无需再次询问用户名和密码。
三、创建仓库
创建仓库有两种方式。1.再本地创建一个仓库 git init 2.克隆一个远程仓库 git clone
1.mkdir learn-git 创建目录。
cd learn-git 进入文件并 git init 初始化本地仓库, cd .git 进入该文件下 ls -altr查看仓库的配置文件
含有.git就说明他是一个仓库
2. 拉取远程仓库 进入文件下点击git clong + 仓库即可
四、工作方式


git status 查看仓库当中文件的状态
git reset 的作用
git reset 是 Git 中一个非常强大的命令,用于撤销更改或调整当前分支的状态。它可以在不同的场景下使用,比如修改提交记录、撤销文件的更改、或者调整 HEAD 指针的位置。
git reset 的基本语法
git reset [<mode>] [<commit>]
-
<mode>:--soft:仅移动HEAD,保留暂存区和工作区的更改。--mixed(默认):移动HEAD,重置暂存区,但保留工作区的更改。--hard:移动HEAD,同时重置暂存区和工作区(所有更改都会丢失)。
-
<commit>:指定需要重置到的目标提交,可以是提交哈希值、分支名、HEAD 等。
git reset 的三种模式
git reset 会影响三个区域:
- HEAD:当前分支的指针。
- 暂存区(Stage/Index)
- 工作区(Working Directory)
1. --soft 模式
仅移动 HEAD 指针到指定提交,暂存区和工作区的更改保持不变。
用途:用来修改最近一次的提交,但保留更改以便重新提交。
git reset --soft HEAD~1
- 将 HEAD 指针回退到上一个提交。
- 原来的提交内容会保持在暂存区,你可以重新提交或修改。
2. --mixed 模式(默认模式)
移动 HEAD 指针到指定提交,同时将暂存区的更改撤销,但工作区的更改保留。
用途:撤销提交并解暂存文件,方便重新编辑。
git reset HEAD~1
- 将 HEAD 指针回退到上一个提交。
- 暂存区的文件被撤销,但文件仍保留在工作区。
3. --hard 模式
移动 HEAD 指针到指定提交,同时清空暂存区和工作区的更改。
用途:彻底清除所有更改,恢复到某个提交的状态。
git reset --hard HEAD~1
- 将 HEAD 指针回退到上一个提交。
- 暂存区和工作区的内容都会被还原到指定提交的状态,无法恢复。
常用场景
1. 撤销最后一次提交但保留更改
git reset --soft HEAD~1
- 用于将提交回滚到暂存区,但保留所有更改。
- 适合发现提交错误后重新提交。
2. 撤销暂存的文件
bash
复制代码
git reset HEAD file.txt
- 用于将
file.txt从暂存区撤回到工作区,但不会影响文件内容。
3. 恢复到指定提交
git reset --hard <commit>
- 用于将分支状态恢复到
<commit>指定的提交,并清除所有暂存区和工作区的更改。
4. 清空最近的多个提交
git reset --hard HEAD~3
- 删除最近的 3 个提交,并将状态恢复到之前的提交。
注意事项
-
--hard操作是不可逆的:- 使用
--hard后,所有未提交的更改会被丢弃,无法恢复。 - 如果误操作,可以尝试通过
git reflog恢复:git reflog git reset --hard <commit-hash>
- 使用
-
不影响远程仓库:
git reset只会影响本地仓库的状态。- 如果远程仓库已经有提交记录,建议用
git revert来撤销。
git reset 和 git checkout、git revert 的区别
| 功能 | git reset | git checkout | git revert |
|---|---|---|---|
| 用途 | 修改历史提交、撤销更改 | 切换分支或恢复单个文件 | 生成一个新的提交,撤销旧的提交 |
| 是否影响历史 | 是(可以删除提交记录) | 否 | 否 |
| 是否影响远程 | 否(除非强制推送) | 否 | 否(会生成新提交记录) |
通过 Git Bash 创建的文件夹会默认保存在 当前工作目录 下。当前工作目录的位置取决于你打开 Git Bash 时的起始路径或切换到的路径。
确定文件夹创建位置的方法
-
查看当前工作目录
打开 Git Bash 后,输入以下命令查看当前工作目录:bash
复制代码
pwd这将返回当前所在的路径,例如:
/c/Users/YourUsername -
切换到不同目录后再创建
如果你希望在特定路径下创建文件夹,可以先使用cd命令切换到目标路径:cd /c/Users/YourUsername/Documents mkdir myfolder这将在
Documents文件夹中创建一个名为myfolder的文件夹。 -
检查默认起始路径
默认情况下,Git Bash 打开时的起始路径通常是你的用户主目录:/c/Users/YourUsername你可以在这里找到通过 Git Bash 创建的文件夹。
-
更改默认起始路径
如果你希望 Git Bash 打开时使用不同的默认路径,可以进行如下设置:
-
打开 Git Bash 的快捷方式。
- 右键点击,选择
属性。 - 在
起始位置(Start in) 一栏,输入你希望的默认路径,例如:C:\Users\YourUsername\Documents
五、VSCode使用Git

相关文章:
Git 从入门到精通
一、环境配置 下载地址:https://git-scm.com/downloads/ 二、用户配置 找到git bash git --version 查看当前版本 git config --global user.name szhipeng625 设置用户名 git config --global user.email szhipeng625gmail.com 设置邮箱 git config --global …...
vue3使用vue3-video-play播放m3u8视频
1.安装vue3-video-play npm install vue3-video-play --save2.在组件中使用 import vue3-video-play/dist/style.css; import VideoPlay from vue3-video-play;// 视频配置项 const options reactive({src: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8, //视频源mute…...
使用API有效率地管理Dynadot域名,为文件夹中的域名统一设置电子邮件转发
关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…...
Java虚拟机(Java Virtual Machine,JVM)
一、Java 虚拟机 Java 虚拟机(Java Virtual Machine, JVM)是运行 Java 字节码的虚拟机。它是Java平台的核心组件之一,使得Java程序具有 一次编写,到处运行(Write Once, Run Anywhere) 的特性。 JVM 有针对…...
[免费]微信小程序(高校就业)招聘系统(Springboot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序(高校就业)招聘系统(Springboot后端Vue管理端),分享下哈。 项目视频演示 【免费】微信小程序(高校就业)招聘系统(Springboot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…...
TCP Analysis Flags 之 TCP Retransmission
前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…...
#Phi-4:微软 14B 参数开源模型,性能匹敌 OpenAI GPT-4o-mini,现已登陆 Ollama
Phi-4:微软 14B 参数开源模型,性能匹敌 OpenAI GPT-4o-mini,现已登陆 Ollama 一、Phi-4 模型概述 (一)模型参数与规模 Phi-4 是微软推出的一款小型语言模型,拥有 140 亿参数。虽然参数量相对较小…...
JSON头文件调用
除了传统的读写操作,现在流行的json文件读取保存,还是非常方便的. 头文件放在源代码中,在调用处添加引用路径 #include “…/ConsoleApplication1/include/json.hpp” using json nlohmann::json; 数据结构例子: // 声明Person类 class Person { public: std::string name; i…...
Swagger学习⑭——@Contact注解
介绍 Contact 是 Swagger/OpenAPI 3.0 注解中的一个注解,用于定义 API 文档中的联系信息。通过 Contact 注解,你可以指定 API 维护者的联系方式,例如电子邮件、URL 或名称等。 源代码 package io.swagger.v3.oas.annotations.info;import …...
如何监听Vuex数据的变化?
使用watch方法监听Vuex state的变化: // 在 Vue 组件中 this.$store.watch((state) > state.someState,(newValue, oldValue) > {console.log(someState changed from, oldValue, to, newValue);} );使用subscribe方法监听mutation的变化: // 在…...
Redis 优化秒杀(异步秒杀)
目录 为什么需要异步秒杀 异步优化的核心逻辑是什么? 阻塞队列的特点是什么? Lua脚本在这里的作用是什么? 异步调用创建订单的具体逻辑是什么? 为什么要用代理对象proxy调用createVoucherOrder方法? 对于代码的详细…...
前端中常用的单位度量(px,rpx,rem,em,vw,vh)+图片自适应
文章目录 前端中常用的单位度量vw/vh 的场景应用px/rem/em 之间的转换关系项目中的rem 应用根元素 font-size 设置为16px 的应用惯例自适应之图片应用1. 使用 max-width 和 max-height2. 使用 object-fit 属性3. 使用 background-image 模拟图片展示 前端中常用的单位度量 px&…...
STM32之一种双通路CAN总线消息备份冗余处理方法(十三)
STM32F407 系列文章 - Dual-CANBus-ProMethod(十三) 目录 前言 一、现状分析 二、解决思路 1.应用场景网络结构图 2.数据发送流程 3.数据接收流程 4.用到的模块 1.CAN网络速率及时间片分配 2.CAN网络消息ID组成 3.设备节点定义 4.数据格式说明…...
从零开始:使用VSCode搭建Python数据科学开发环境
引言 在数据科学领域,一个高效、稳定的开发环境是成功的关键。本文将详细介绍如何使用Visual Studio Code搭建一个完整的Python数据科学开发环境。通过本指南,您将学会: 安装和配置VSCode,包括基本设置和快捷键配置设置Python开…...
C#语言的字符串处理
C#语言的字符串处理 引言 在现代编程中,字符串处理是一项重要的技能,几乎在所有编程语言中都有应用。C#语言作为一种强类型的、面向对象的编程语言,提供了丰富的字符串处理功能。这使得开发人员能够方便地进行文本操作,比如字符…...
《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB电机,自制shell和网络协议栈,开源水培自动化系统
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1Tzr9Y3EQ7/ 《安富莱嵌入式周报》第348期:开源低功…...
npm发布流程说明
一、进入要发布的项目根目录,初始化为npm包 npm initname:最重要的字段之一,项目名称(少于214个字节)。没有name和version不能进行安装; version:最重要的字段之一,项目版本。没有n…...
缓存-文章目录
关于缓存系列文章: 缓存学习总结1(缓存分类) 缓存学习总结2(服务器本地缓存) 缓存学习总结3(服务器内存缓存)推荐使用 缓存学习总结4(分布式缓存) 关于redis系列文章…...
LeetCode 3297.统计重新排列后包含另一个字符串的子字符串数目 I:滑动窗口
【LetMeFly】3297.统计重新排列后包含另一个字符串的子字符串数目 I:滑动窗口 力扣题目链接:https://leetcode.cn/problems/count-substrings-that-can-be-rearranged-to-contain-a-string-i/ 给你两个字符串 word1 和 word2 。 如果一个字符串 x 重新…...
如何在 Ubuntu 24.04 上安装 Memcached 服务器教程
简介 Memcached 是一个高性能、分布式的内存缓存系统,旨在通过减少数据库负载来加速动态 Web 应用程序。它通过将数据和对象缓存在 RAM 中来实现这一点,从而最大限度地减少了从数据库或其他慢速存储层重复获取数据的需要。 本教程的目标是手把手教你如…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
