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

Git 基本命令行操作

Git是一个开源的分布式版本控制系统,用于管理源代码和文档的版本。以下是Git的基本命令行操作:

一、配置

  • 安装完成后,需要配置Git的用户名和邮箱,以便在提交记录时记录操作者的信息。
    • 配置全局用户名:git config --global user.name “Your Name”
    • 配置全局邮箱:git config --global user.email “Your Email”
    • 查看配置信息:git config --global --list

二、初始化仓库

  • 可以通过两种方式创建Git仓库:
    1. 在本地直接创建一个仓库:
      • 创建一个新的文件夹,并切换到该文件夹。
      • 执行git init命令,将该文件夹初始化为Git仓库。
    2. 从远程服务器克隆一个已存在的Git仓库:
      • 使用git clone [url]命令,从指定的URL中克隆一个仓库。

三、工作区域和文件状态

  • Git的工作区域分为:工作区、暂存区(也称为索引区)和本地仓库。
  • 文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed)。

四、添加和提交文件

  • 使用git status命令查看仓库的当前状态。
  • 使用git add [filename]命令将文件添加到暂存区。
  • 使用git commit -m "说明信息"命令将暂存区的文件提交到本地仓库。

五、查看文件差异

  • 使用git diff命令查看文件差异:
    • 不加参数时,默认比较工作区和暂存区之间的差异。
    • git diff [filename]:查看具体文件工作区与暂存区的差异。
    • git diff --cached:查看暂存区与上一次提交的差异。
    • git diff [commit_id1] [commit_id2]:查看两个版本之间的差异。

六、删除文件

  • 使用git rm [filename]命令将文件从工作区和暂存区删除。
  • 使用git rm --cached [filename]命令将暂存区文件删除,但保留工作目录中的文件。

七、查看日志

  • 使用git log [option]命令查看历史提交信息:
    • -p:显示提交的补丁(具体更改内容)。
    • –oneline:以简洁的一行格式显示提交信息。
    • –graph:以图形化方式显示分支和合并历史。
    • –decorate:显示分支和标签指向的提交。
    • 其他选项如–author、–since、–until、–grep、–no-merges、–stat、–abbrev-commit、–pretty等,可以根据需要选择使用。

八、版本回退

  • 使用git reset [–hard | --soft] HEAD命令回退到某个版本:
    • –hard:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交(完全回退到某个版本)。
    • –soft:回退到某个版本,但保留当前文件的修改内容。

九、撤销操作

  • 使用git checkout – [filename]命令丢弃工作区修改。
  • 使用git reset HEAD [filename]命令撤销使用git add后暂存的文件。

十、远程仓库操作

  • 使用git remote命令管理远程仓库:
    • git remote:列出远程仓库。
    • git remote add [remote_name] [remote_url]:将本地仓库与远程仓库关联起来。
    • git remote rename [old_name] [new_name]:将已经配置的远程仓库重命名。
    • git remote remove [remote_name]:删除当前仓库指定的远程仓库,与远程仓库断开关联。
    • git remote show [remote_name]:显示远程仓库的详细信息。
  • 使用git fetch命令获取远程仓库代码,但这并不会主动合并到本地仓库代码。
  • 使用git push命令将本地更新推送到远程仓库。
  • 使用git pull命令拉取远程更新到本地。

十一、分支操作

  • 使用git branch命令查看或创建分支:
    • git branch:查看当前所有分支。
    • git branch [branchname]:创建一个新的分支。
  • 使用git checkout [branchname]或git switch [branchname]命令切换分支。
  • 使用git merge [branchname]命令合并分支。

十二、贮藏功能

  • 使用git stash命令将当前分支的修改储藏起来。
  • 使用git stash apply命令恢复之前存储的内容。
  • 使用git stash list命令查看存储记录。
  • 使用git stash pop命令恢复并删除最近一次存储的记录。

相关文章:

Git 基本命令行操作

Git是一个开源的分布式版本控制系统,用于管理源代码和文档的版本。以下是Git的基本命令行操作: 一、配置 安装完成后,需要配置Git的用户名和邮箱,以便在提交记录时记录操作者的信息。 配置全局用户名:git config --g…...

【Rust练习】17.泛型

练习题来自&#xff1a;https://practice-zh.course.rs/generics-traits/generics.html 函数 1 // 填空 struct A; // 具体的类型 A. struct S(A); // 具体的类型 S. struct SGen<T>(T); // 泛型 SGen.fn reg_fn(_s: S) {}fn gen_spec_t(_s: SGen<A&…...

java脚手架系列4--测试用例、拦截器

异常处理、拦截器、数据库连接 1 测试用例 单元测试是一个老生常谈的问题&#xff0c;无论是后端对自己的代码质量把的第一道关也好&#xff0c;也是对测试减缓压力。这里就不过多讲述测试用例的重要性&#xff0c;但是有2个框架我们必须了解一下。 1.1 JUnit和mockito 我们…...

论文推荐 |【Agent】自动化Agent设计系统

论文标题&#xff1a; Automated Design of Agentic Systems 论文地址&#xff1a; https://arxiv.org/abs/2408.08435 GitHub地址&#xff1a; https://github.com/ShengranHu/ADAS 自动化代理设计在性能和通用性方面显著超越了手动方法。 • 引入了自动化代理系统设计&am…...

Linux操作系统提供了五种主要的IO(输入/输出)模型

Linux操作系统提供了五种主要的IO&#xff08;输入/输出&#xff09;模型&#xff0c;这些模型旨在优化应用程序对输入输出操作的管理和处理。以下是关于这五种IO模型的详细介绍。 一、阻塞IO&#xff08;Blocking IO&#xff09; 阻塞IO是最常见、最传统的IO模型。在这种模型…...

基于深度学习的花卉识别系统

简介&#xff1a; 基于Python的花卉识别分类系统利用深度学习和计算机视觉技术&#xff0c;能够准确识别和分类各种花卉&#xff0c;如玫瑰、郁金香和向日葵等。这种系统不仅有助于植物学研究和园艺管理&#xff0c;还在生态保护、智能农业和市场销售等领域展现广泛应用前景。随…...

【斯坦福CS144】Lab0

一、实验目的 1.初步了解计算机网络&#xff0c;准备实验所需的材料和环境&#xff1b; 2.掌握基础实验方法&#xff1b; 3.动手实现网络功能。 二、实验内容 1.下载实验所需的资料&#xff0c;安装虚拟机&#xff0c;配置环境&#xff1b; 2.获取一个网页&#xff1b; …...

关于Mybatis中,IPage<PO>转换成IPage<VO>的问题

以下是一个比较常见通用的一个查询并且为单表查询&#xff0c;在开发初期&#xff0c;或者项目不是很复杂的时候&#xff0c;或者一开始项目框架就规划好的情况下&#xff0c;通常我们都会封装。 在我们的项目中&#xff0c;这部分代码其实是自动生成的&#xff0c;足以满足大…...

使用idea和vecode创建vue项目并启动(超详细)

一、idea创建vue项目 创建项目之前先下载好插件 新建项目找到vue生成器 写好名称&#xff0c;找到自己需要存放的地址&#xff0c;node解释器安装方式可以看我上一个博客&#xff0c;vueCLI是选择vue的版本&#xff0c;我们可以使用idea自带的vue版本默认是vue3&#xff0c;创…...

C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式

今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法&#xff0c;来回顾一些基础知识点。 01第一类、字符串方式 这类方法是通过string类型自身方法直接实现。 1、Substring方法 相信大多数人第一个想到的可能就是这个方法。Substring方法是字符串内置方法&#…...

成都睿明智科技有限公司怎么样靠谱吗?

随着短视频与直播的深度融合&#xff0c;抖音电商凭借其强大的流量入口、精准的算法推荐以及便捷的购物体验&#xff0c;迅速崛起。对于传统企业和新兴品牌而言&#xff0c;这无疑是一个不可多得的机遇。然而&#xff0c;如何在这片红海中脱颖而出&#xff0c;就需要借助专业的…...

docker简述

1.安装dockers&#xff0c;配置docker软件仓库 安装&#xff0c;可能需要开代理&#xff0c;这里我提前使用了下好的包安装 启动docker systemctl enable --now docker查看是否安装成功 2.简单命令 拉取镜像&#xff0c;也可以提前下载使用以下命令上传 docker load -i imag…...

第27周:Transformer实战:文本分类

目录 前言 一、前期准备 1.1 环境安装 1.2 加载数据 二、数据预处理 2.1 构建词典 2.2 生成数据批次和迭代器 2.3 构建数据集 三、模型构建 3.1 定义位置编码器 3.2 定义Transformer模型 3.3 初始化模型 3.4 定义训练函数 3.5 定义评估函数 四、训练模型 4.1 模…...

在QT中将Widget提升为自定义的Widget后,无法设置Widget的背景颜色问题解决方法

一、问题 在Qt中将QWidget组件提升为自定义的QWidget后&#xff0c;Widget设置的样式失效&#xff0c;例如设置背景颜色为白色失效。 二、解决方法 将已经提升的QWidget实例对象&#xff0c;脱离父窗体的样式&#xff0c;然后再重新设置自己的样式。...

【学习笔记】手写一个简单的 Spring IOC

目录 一、什么是 Spring IOC&#xff1f; 二、IOC 的作用 1. IOC 怎么知道要创建哪些对象呢&#xff1f; 2. 创建出来的对象放在哪儿&#xff1f; 3. 创建出来的对象如果有属性&#xff0c;如何给属性赋值&#xff1f; 三、实现步骤 1. 创建自定义注解 2. 创建 IOC 容器…...

日记学习小迪安全27

感觉复制粘贴没有意思&#xff0c;而且还有点浪费时间&#xff0c;主要是学习&#xff0c;不是复制&#xff0c;那就复制别人的吧 第27关就参考这篇文章吧&#xff0c;以下大部分内容都是参考以下文章&#xff08;侵权删除&#xff09; 第27天&#xff1a;WEB攻防-通用漏洞&a…...

【React】类组件和函数组件

构建组件的方式 函数式组件&#xff08;function&#xff09;createElement&#xff08;不建议使用&#xff09;类组件形式创建&#xff08;不建议使用&#xff09; 对于 React 的理解 React, 用于构建用户界面的JavaScript库&#xff0c;本身只提供了Ul层面的解决方案。&am…...

Spring Boot应用开发

Spring Boot是一个基于Spring框架的开源Java框架&#xff0c;旨在简化新Spring应用的初始化和开发过程。它通过提供各种默认配置&#xff0c;减少了繁琐的配置&#xff0c;使开发者能够专注于业务逻辑的实现。本文将介绍Spring Boot的基本概念、优点、关键特性以及如何构建一个…...

mysql事务使用和事务隔离级别与sqlserver的比较

在 MySQL 中&#xff0c;事务 (Transaction) 是一个将一组 SQL 语句作为一个整体执行的机制。事务确保要么所有操作都执行成功&#xff0c;要么在遇到错误时回滚到之前的状态&#xff0c;从而保证数据库数据的一致性和完整性。 事务的四大特性&#xff08;ACID&#xff09; 事…...

双光吊舱图像采集详解!

一、图像采集 可见光图像采集&#xff1a; 使用高性能的可见光相机&#xff0c;通过镜头捕捉自然光或人工光源照射下的目标图像。 相机内部通常配备有先进的图像传感器&#xff0c;如CMOS或CCD&#xff0c;用于将光信号转换为电信号。 红外图像采集&#xff1a; 利用红外热…...

CHI协议WriteZero事务的DBIDResp与Comp响应机制解析

1. CHI协议中WriteZero事务的响应机制解析在AMBA 5 CHI协议中&#xff0c;WriteZero类事务&#xff08;包括WriteUniqueZero和WriteNoSnpZero&#xff09;的响应流程存在一个看似冗余的设计特点&#xff1a;它们会同时接收DBIDResp和Comp两种响应。这种现象常常让硬件设计工程师…...

Linux编译OpenSSL 3.0.1时,那个烦人的‘Can‘t locate IPC/Cmd.pm’错误,我是这样解决的

解决Linux编译OpenSSL 3.0.1时的Perl模块依赖问题 在Linux环境下从源码编译安装OpenSSL时&#xff0c;开发者常会遇到各种依赖问题&#xff0c;其中Cant locate IPC/Cmd.pm错误尤为常见。这个错误看似简单&#xff0c;却可能让不熟悉Perl模块管理机制的用户陷入困境。本文将深入…...

【亲测免费】 探索RS485通信的利器:开源项目推荐

探索RS485通信的利器&#xff1a;开源项目推荐 【下载地址】RS485通信程序 本仓库提供了一个完整的RS485通信程序&#xff0c;经过本人亲自测试&#xff0c;程序注释详细&#xff0c;非常适合作为学习和开发的参考例程。无论你是初学者还是有经验的开发者&#xff0c;这个资源都…...

Android项目集成CH340串口驱动:从官方Demo到体温检测模块的完整配置流程

Android项目集成CH340串口驱动&#xff1a;从官方Demo到体温检测模块的完整配置流程 在医疗设备、工业控制等物联网场景中&#xff0c;Android设备与外围硬件通过串口通信的需求日益增长。CH340作为一款高性价比的USB转串口芯片&#xff0c;因其稳定性和广泛兼容性成为许多硬件…...

嵌入式开发实战:SPI、UART、I2C三大硬件接口通信协议详解与CircuitPython应用

1. 项目概述&#xff1a;为什么硬件接口是嵌入式开发的基石如果你玩过单片机或者树莓派&#xff0c;肯定遇到过这样的场景&#xff1a;手里有一块炫酷的LED灯带、一个GPS模块或者一个环境传感器&#xff0c;想让它和你的主控板“说上话”&#xff0c;结果发现连线复杂、代码难调…...

量子计算基础:从比特到量子比特的革命

1. 量子计算基础&#xff1a;从比特到量子比特的革命 在传统计算机中&#xff0c;信息的基本单位是比特&#xff08;bit&#xff09;&#xff0c;它只能处于0或1两种状态之一。而量子计算的核心突破在于引入了量子比特&#xff08;qubit&#xff09;的概念&#xff0c;它能够同…...

SolidWorks插件开发避坑指南:手把手教你搞定工具栏图标乱跑和注册表清理(C#版)

SolidWorks插件开发实战&#xff1a;彻底解决工具栏图标错乱与注册表残留问题 1. 问题现象与根源分析 当你在SolidWorks插件开发过程中修改插件名称或反复调试时&#xff0c;是否遇到过这些令人抓狂的场景&#xff1f; 工具栏上出现多个重复的功能按钮图标位置随机错位&#xf…...

3分钟终极解决方案:一键将XAPK文件高效转换为通用APK

3分钟终极解决方案&#xff1a;一键将XAPK文件高效转换为通用APK 【免费下载链接】xapk-to-apk A simple standalone python script that converts .xapk file into a normal universal .apk file 项目地址: https://gitcode.com/gh_mirrors/xa/xapk-to-apk 还在为安卓设…...

全境透视·智域重构系统 技术发布会完整版宣讲稿

全境透视智域重构系统 技术发布会完整版宣讲稿 镜像视界浙江科技有限公司 尊敬的各位领导、行业专家、合作伙伴、各界来宾&#xff1a; 大家上午好&#xff01; 当下数字智慧建设迈入全新进阶阶段&#xff0c;传统二维监控视野受限、物理遮挡形成大量管理盲区&#xff0c;静态…...

ARM中断控制器架构与配置实践详解

1. ARM中断控制器架构解析在嵌入式系统设计中&#xff0c;中断控制器作为处理器与外围设备间的关键枢纽&#xff0c;其性能直接影响系统的实时性和可靠性。ARM1176JZF-S处理器采用了两级中断控制架构&#xff1a;位于开发芯片中的TrustZone中断控制器(TZIC)和通用中断控制器(GI…...