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

git常用指令详解

文章目录

  • Git 基本指令的使用
  • Git 远程仓库
  • Git的分支管理

Git 基本指令的使用

git init
//初始化一个git仓库,在当前目录下生成.git文件夹,并且会默认生成一个master分支。
git clone <url> [directory]
//url为git仓库地址,directory为本地目录
git clone git://github.com/schacon/grit.git
//执行完成之后会在当前目录下生成仓库,如果要指定目录下生成,则可以在后面加一个具体的位置路径
git config --global user.name '你的用户名'
git config --global user.email '你的邮箱'
//通过git config来配置用户名和邮箱地址,便于我们将代码提交到远程仓库
git status
//查看相关文件的状态
暂存文件的命令:git add <文件名>
放弃未暂存文件的修改命令:git checkout – <文件名>
将被修改的文件暂存并提交的命令:git commit -a
git diff
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
git add 
//命令可将文件添加到缓存
git commit -m "第一次版本提交"
//git commit 将缓存区内容添加到仓库中,可以在后面加-m选项,以在命令行中提供提交注释
git commit -am "第一次版本提交"
//跳过add这一步,可以直接使用 -a选项
git checkout
//当修改文件后,还没有add提交到暂存区,也没有commit时放弃修改
git checkout 11.txt #放弃11.txt文件的修改
git checkout .  # 放弃所有文件的修改
git reset HEAD
//取消已缓存的内容
git reset HEAD a.php #只撤消a.php
git reset HEAD * #撤消所有
git reset HEAD^
//当文件add提交到暂存区,也commit了,撤回文件
git reset HEAD^ # 撤消上一次的commit 不带参数默认是--mixed 例:git reset --mixed HEAD^  也可以写成git reset HEAD~1
git reset HEAD~2 如果你进行了2次commit,想都撤回,可以使用HEAD~2
git reset fdaeaf208f0e142ceba5766d17786d60fcebc1dd #撤消指定的commitId
git reset --hard fdaeaf208f0e1 # 回退到指定版本 放弃工作区的所有修改,还原到指定版本的代码
--soft:不删除工作空间改动代码,撤销commit,不撤销git add .操作,重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。
--mixed(默认):不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区 和 Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。
--hard:删除工作空间改动代码,撤销commit,撤销git add . 操作,重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。
注意完成这个操作后,就恢复到了指定版本的commit状态。

Git 远程仓库

git remote
//查看当前有哪些远程仓库
git remote add [alias] [url]
//添加一个远程仓库,参数[alias]为别名, [url]为远程仓库的地址
git fetch、git pull
//暂时还未深入理解
git push [alias] [branch]
git push origin master
//将本地仓库master分支推送到远程origin分支
//有时候需要用到-f强推
git reset --soft HEAD~1
//撤销本地的提交,--soft 选项会保留工作目录和暂存区的更改,仅撤销提交,HEAD~1 表示撤销最近的一次提交
git reset --hard HEAD~1
//完全丢弃这些更改,可以使用 --hard 选项
git push --force-with-lease
//更改完之后强制推送,-with-lease它会检查远程分支的当前状态是否与你上次拉取时一致,没有被其他人修改时它才会执行强制推送。
git remote rm [别名]
//删除远程仓库

Git的分支管理

git branch
//查看分支/创建分支,如果没有参数,git branch会列出你在本地的分支;如果有参数,git branch就会创建以参数命名的分支。
git branch -d (分支名)
//删除分支
git checkout (分支名)
//可以切换分支git checkout -b (分支名) 
//创建分支并切换到该分支
git merge (分支名) 
//可以将分支名对应的分支合并到到当前分支中去
合并的时候,最大的难点就是冲突了,合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改,如果我们在两个分支中同时修改了同一个文件,这时再合并,就可能会产生冲突.

关于git指令还有很多内容,这里只做了简要介绍,大家可以参考官网git-Reference,后面用到新的指令会继续补充,欢迎大家收藏和留言补充.

相关文章:

git常用指令详解

文章目录 Git 基本指令的使用Git 远程仓库Git的分支管理 Git 基本指令的使用 git init //初始化一个git仓库,在当前目录下生成.git文件夹&#xff0c;并且会默认生成一个master分支。git clone <url> [directory] //url为git仓库地址&#xff0c;directory为本地目录 gi…...

Debezium 报错:“The db history topic is missing” 的处理方法

Debezium 报错:“The db history topic is missing” 的处理方法 一、引言 在使用 Debezium 进行数据同步时,可能会遇到一个常见的错误:“The db history topic is missing”。这个错误表明 Debezium 无法找到或访问其数据库历史记录主题(db history topic),这通常是由…...

Grok 3.0 Beta 版大语言模型评测

2025年2月17日至18日&#xff0c;全球首富埃隆马斯克&#xff08;Elon Musk&#xff09;携手其人工智能公司xAI&#xff0c;在美国重磅发布了Grok 3.0 Beta版。这款被誉为“迄今为止世界上最智能的语言模型”的AI&#xff0c;不仅集成了先进的“DeepSearch”搜索功能&#xff0…...

AcWing 3691:有向树形态 ← 卡特兰数 + 复旦大学考研机试题

【题目来源】 https://www.acwing.com/problem/content/3694/ 【题目描述】 求 N 个相同结点能够组成的二叉树的个数。 【输入格式】 一个整数 N。 【输出格式】 输出能组成的二叉树的个数。 【数据范围】 1≤N≤20 【输入样例】 3 【输出样例】 5 【算法分析】 ● 卡特…...

便携式动平衡仪Qt应用层详细设计方案(基于Qt Widgets)

便携式动平衡仪Qt应用层详细设计方案&#xff08;基于Qt Widgets&#xff09; 版本&#xff1a;1.0 日期&#xff1a;2023年10月 一、系统概述 1.1 功能需求 开机流程&#xff1a;长按电源键启动&#xff0c;全屏显示商标动画&#xff08;快闪3~4次&#xff09;。主界面&…...

SpringBoot源码解析(十一):准备应用上下文

SpringBoot源码系列文章 SpringBoot源码解析(一)&#xff1a;SpringApplication构造方法 SpringBoot源码解析(二)&#xff1a;引导上下文DefaultBootstrapContext SpringBoot源码解析(三)&#xff1a;启动开始阶段 SpringBoot源码解析(四)&#xff1a;解析应用参数args Sp…...

CSS 使用white-space属性换行

一、white-space属性的常见值 * 原本格式&#xff1a; 1、white-space:normal 默认值&#xff0c;空格和换行符会被忽略过滤掉&#xff1b;宽度不够时文本会自动换行 * 宽度足够时&#xff0c;normal 处理后的格式 * 宽度不够时&#xff0c; normal 处理后的格式 2、white-spa…...

论文笔记(七十二)Reward Centering(四)

Reward Centering&#xff08;四&#xff09; 文章概括摘要附录A 伪代码 文章概括 引用&#xff1a; article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arXiv preprint arXiv:2405.09999…...

Matlab——图像保存导出成好看的.pdf格式文件

点击图像的右上角&#xff0c;点击第一个保存按钮键。...

官方文档学习TArray容器

一.TArray中的元素相等 1.重载一下 元素中的 运算符&#xff0c;有时需要重载排序。接下来&#xff0c;我们将id 作为判断结构体的标识。 定义结构体 USTRUCT() struct FXGEqualStructInfo {GENERATED_USTRUCT_BODY() public:FXGEqualStructInfo(){};FXGEqualStructInfo(in…...

unxi-进程间通信

1.进程间通信实现方式 【1】同一主机 linux下通信方式: a.传统的进程间通信方式 管道 --- 进行数据传输的"管道" 无名管道 有名管道 信号 --- b.system v 进程间通信 (posix 进程间通信) 共享内存 (进程间…...

微型分组加密算法TEA、XTEA、XXTEA

微型分组加密算法TEA、XTEA、XXTEA TEA&#xff08;Tiny Encryption Algorithm&#xff09;算法是一种分组加密算法&#xff0c;由剑桥大学计算机实验室的‌David Wheeler和‌Roger Needham于1994年发明。TEA、XTEA、XXTEA算法采用64位的明文分组和128位的密钥。它使用Feistel…...

conda 基本命令

1、查询当前所有的环境 conda env list 2、创建虚拟环境 conda create -n 环境名 [pythonpython版本号] 其中[pythonpython版本号]可以不写 conda create -n test python3.12 我们输入conda env list看到我们的环境创建成功了&#xff0c;但是发现他是创建在我们默认的C盘的…...

详解 为什么 tcp 会出现 粘包 拆包 问题

TCP 会出现 粘包 和 拆包 问题&#xff0c;主要是因为 TCP 是 面向字节流 的协议&#xff0c;它不关心应用层发送的数据是否有边界&#xff0c;也不会自动分割或合并数据包。由于 TCP 的流控制和传输机制&#xff0c;数据可能在传输过程中被拆分成多个小的 TCP 包&#xff0c;或…...

Linus的基本命令

以下是一些常见的 Linux 命令&#xff1a; 一、文件和目录操作&#xff1a; - ls&#xff1a;列出目录中的文件和子目录&#xff0c;常用参数有 -a &#xff08;显示所有文件&#xff0c;包括隐藏文件&#xff09;、 -l &#xff08;显示详细信息&#xff09;、 -h &#xff0…...

【Linux】缓冲区和文件系统

个人主页~ 缓冲区和文件系统 一、FILE结构1、fd2、缓冲区&#xff08;一&#xff09;有换行有return全部打印&#xff08;二&#xff09;无换行无return的C接口打印&#xff08;三&#xff09;无换行无return的系统调用接口打印&#xff08;四&#xff09;有换行无return的C接口…...

函数式编程:概念、特性与应用

1. 函数式编程简介 函数式编程&#xff0c;从名称上看就与函数紧密相关。它是一种我们常常使用却可能并未意识到的编程范式&#xff0c;关注代码的结构组织&#xff0c;强调一个纯粹但在实际中有些理想化的不可变世界&#xff0c;涉及数学、方程和副作用等概念&#xff0c;甚至…...

git中的merge和rebase的区别

在 Git 中&#xff0c;git merge 和 git rebase 都是用于整合分支变更的核心命令&#xff0c;但它们的实现方式和结果有本质区别。以下是两者的详细对比&#xff1a; 一、核心区别 特性git mergegit rebase历史记录保留分支拓扑&#xff0c;生成新的合并提交线性化历史&#x…...

【目标检测】目标检测中的数据增强终极指南:从原理到实战,用Python解锁模型性能提升密码(附YOLOv5实战代码)

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

uniapp在app下使用mqtt协议!!!支持vue3

什么&#xff1f;打包空白&#xff1f;分享一下我的解决方法&#xff01; 第一步 找大师算过了&#xff0c;装4.1版本运气好&#xff01; 所以根目录执行命令… npm install mqtt4.1.0第二步 自己封装一个mqtt文件方便后期开坛做法&#xff01; // utils/mqtt.js import mqt…...

跳跃表与跳跃树:Antithesis 如何用奇特数据结构解决测试难题?

BugBash 2026导航栏信息 导航栏包含产品相关、解决方案、公司信息和资源四个板块。产品相关板块有 What is Antithesis?、How Antithesis works、How were different 等内容&#xff1b;解决方案板块涵盖 Problems we solve、Security approach、Fintech、Blockchain、Databas…...

《基于 FSet 的现代 Common Lisp》1.0 版发布,涵盖多方面使用指南

下一篇 [介绍与必要的宣传](Introduction-and-Obligatory-Hype.html) [目录][[索引](Index.html "索引")] 文档版本及许可信息 本文档版本为 1.0&#xff08;适用于 FSet v2.4.2&#xff09;&#xff0c;© 2026 Scott L. Burson 所有。它遵循 [知识共享署名 - 非…...

Blender骨骼命名太乱?手把手教你自定义Auto IK Rigger的JSON配置,适配任何骨架

Blender骨骼命名太乱&#xff1f;手把手教你自定义Auto IK Rigger的JSON配置&#xff0c;适配任何骨架 在三维角色动画制作中&#xff0c;骨骼绑定是最耗时的环节之一。不同软件、不同团队甚至不同项目都可能采用完全不同的骨骼命名规则&#xff0c;这给跨平台协作和插件使用带…...

深入对比:ESP32-C3的Bluedroid与NimBLE蓝牙协议栈,到底该怎么选?

ESP32-C3蓝牙协议栈深度选型指南&#xff1a;Bluedroid与NimBLE的实战对比 在物联网设备开发中&#xff0c;蓝牙协议栈的选择往往决定了产品的性能上限与能耗下限。当ESP32-C3遇上Bluedroid与NimBLE这两大协议栈&#xff0c;开发者该如何做出明智选择&#xff1f;本文将带您穿透…...

轻松玩转树莓派Pico之五、FreeRTOS多任务实战

1. 为什么要在树莓派Pico上跑FreeRTOS&#xff1f; 树莓派Pico搭载的RP2040芯片虽然定位为微控制器&#xff0c;但其双核Cortex-M0架构和264KB的SRAM资源&#xff0c;在嵌入式领域已经算是"大内存"配置了。我刚开始玩Pico时也习惯用裸机编程&#xff0c;直到有一次需…...

从零到一:在NVIDIA Omniverse中构建你的首个USD机器人场景

1. 认识NVIDIA Omniverse与USD格式 第一次打开NVIDIA Omniverse时&#xff0c;我被它的界面震撼到了——这哪里是开发工具&#xff0c;分明是未来世界的入口啊&#xff01;作为一个在机器人仿真领域摸爬滚打多年的老手&#xff0c;我必须说Omniverse彻底改变了我们构建3D场景的…...

终极指南:如何快速掌握Unity游戏逆向工程利器Il2CppDumper

终极指南&#xff1a;如何快速掌握Unity游戏逆向工程利器Il2CppDumper 【免费下载链接】Il2CppDumper Unity il2cpp reverse engineer 项目地址: https://gitcode.com/gh_mirrors/il/Il2CppDumper 想要深入了解Unity游戏内部机制吗&#xff1f;Il2CppDumper 是当前最强大…...

从缺页异常到内存陷阱:一个mincore函数如何帮你检测手游里的透视自瞄挂

从缺页异常到内存陷阱&#xff1a;mincore函数在手游反外挂中的实战解析 手游安全攻防战从未停歇&#xff0c;尤其是FPS和MOBA类游戏中透视与自瞄外挂的泛滥&#xff0c;让开发者们不断寻找更底层的检测方案。当传统的内存校验和API监控难以应对内核级外挂时&#xff0c;Linux内…...

终极指南:如何通过CodeCombat实现游戏化编程教学革命

终极指南&#xff1a;如何通过CodeCombat实现游戏化编程教学革命 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat 你是否曾经试图学习编程&#xff0c;却被枯燥的语法练习和抽象的理论概念劝退&am…...

从一次线上慢查询排查说起:我是如何通过深挖MySQL的MUL索引,把接口响应时间从2秒降到200毫秒的

从一次线上慢查询排查说起&#xff1a;我是如何通过深挖MySQL的MUL索引&#xff0c;把接口响应时间从2秒降到200毫秒的 那天下午&#xff0c;监控系统突然报警&#xff0c;订单列表接口的P99响应时间突破了2秒——这比平时的200毫秒慢了整整10倍。作为一个日活百万的电商平台&a…...