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

Git 操作全解:从基础命令到高级操作的实用指南

文章目录

    • 1.基本命令
      • 1.初始化仓库
      • 2.克隆远程仓库
      • 3.查看当前仓库状态
      • 4.查看提交日志
      • 5.添加文件到暂存区
      • 6.提交更改
      • 7.查看仓库的配置信息
    • 2.分支操作
      • 1.查看所有分支
      • 2.创建新分支
      • 3.切换名称
      • 4.创建并切换到新分支
      • 5.删除分支
      • 6.查看当前分支
    • 3.合并分支
      • 1.合并分支
      • 2.解决合并冲突
    • 4.远程仓库操作
      • 1.查看远程仓库信息
      • 2.添加远程仓库
      • 3.推送更改到远程仓库
      • 4.拉取远程仓库的更改
      • 5.获取远程仓库的最新更改(不合并)
    • 5.文件操作
      • 1.查看文件历史
      • 2.撤销对文件的修改(还原到暂存区状态)
      • 3.恢复到文件到最后一次提交的状态
      • 4.删除文件并提交
    • 6.撤销操作
      • 1.撤销暂存区的所有修改
      • 2.撤销暂存区指定文件的修改
      • 3.撤销工作区指定文件的修改
      • 4.撤销指定提交的修改
      • 5.重置工作区,暂存区和git仓库的状态
      • 6.撤销提交(回到上一个提交)
    • 7.其他常用命令
      • 1.显示差异
      • 3.暂存文件但不提交

在这里插入图片描述

1.基本命令

1.初始化仓库

git init    // 在当前目录中初始化一个新的git仓库

2.克隆远程仓库

git clone 远程仓库地址    // 克隆远程仓库到本地

3.查看当前仓库状态

git status    // 查看工作目录和暂存区的状态,显示哪些文件已修改,哪些文件已暂存

4.查看提交日志

git log   //查看提交历史

5.添加文件到暂存区

git add 文件名称    //添加指定文件到暂存区
git add .   //添加当前面目录所有修改的文件

6.提交更改

git commit -m "备注信息"    //提交暂存区的文件到本地仓库,并添加提交信息

7.查看仓库的配置信息

git config --list

2.分支操作

1.查看所有分支

查看分支列表

git branch

2.创建新分支

git branch 新分支名称

3.切换名称

git checkout 分支名称 

4.创建并切换到新分支

git checkout - b 分支名称

5.删除分支

git branch -d 分支名称

6.查看当前分支

git branch --show-current

3.合并分支

1.合并分支

git merge 分支名称    // 将指定分支合并到当前分支

2.解决合并冲突

在合并时,如果存在冲突,git会提示你手动解决冲突,解决后使用 git add 标记冲突已解决,再执行 git commit 完成合并

4.远程仓库操作

1.查看远程仓库信息

git remote -v

2.添加远程仓库

git remote add origin 远程仓库地址

3.推送更改到远程仓库

首次推送到时需要使用 -u 参数,将本地分支与远程分支关联起来。设置默认上游分支

git push -u origin 远程仓库分支名称

4.拉取远程仓库的更改

git pull origin 远程仓库分支名称

5.获取远程仓库的最新更改(不合并)

git fetch origin

5.文件操作

1.查看文件历史

列出当前分支的所有 commit

git log -- 文件名称

2.撤销对文件的修改(还原到暂存区状态)

git checkout -- 文件名称

3.恢复到文件到最后一次提交的状态

git restore 文件名称

4.删除文件并提交

git rm 文件名称
git commit -m "Remove 文件名称"

6.撤销操作

1.撤销暂存区的所有修改

git reset

2.撤销暂存区指定文件的修改

git reset 文件名称

3.撤销工作区指定文件的修改

git checkout -- 文件名称

4.撤销指定提交的修改

git revert ‘commit 备注信息’

5.重置工作区,暂存区和git仓库的状态

git reset --hard

6.撤销提交(回到上一个提交)

撤销上次提交并删除修改,HEAD~1表示上一个提交,--hard会改变工作目录

git reset --hard HEAD~1

7.其他常用命令

1.显示差异

查看工作目录和暂存区之间的差异,或者已暂存文件与上次提交之间的差异

git diff 

3.暂存文件但不提交

将当前更改暂存起来,清理工作目录,稍后可以通过 git stash pop 恢复

git stash

相关文章:

Git 操作全解:从基础命令到高级操作的实用指南

文章目录 1.基本命令1.初始化仓库2.克隆远程仓库3.查看当前仓库状态4.查看提交日志5.添加文件到暂存区6.提交更改7.查看仓库的配置信息 2.分支操作1.查看所有分支2.创建新分支3.切换名称4.创建并切换到新分支5.删除分支6.查看当前分支 3.合并分支1.合并分支2.解决合并冲突 4.远…...

华院计算参与项目再次被《新闻联播》报道

12月17日,央视《新闻联播》播出我国推进乡村振兴取得积极进展。其中,华院计算参与的江西省防止返贫监测帮扶大数据系统被报道,该系统实现了由原来的“人找人”向“数据找人”的转变,有效提升监测帮扶及时性和有效性,守…...

从一次线上故障聊聊接口自动化测试

1、背景 3月初,运营同事配置了个还未上线的页面到网站首页 banner,导致用户点了报错。尽管这次很明确是运营人为操作失误引起的故障,但过往此类核心页面的访问异常,我们已不是第一次遇见。 从平台整体利益触发,我们各…...

Element-ui的使用教程 基于HBuilder X

文章目录 1.Element-ui简介2.使用HBuilderX 创建一个基于Vue3的项目 (由于是使用的基于Vue3的Element-ui)3.安装element-ui4.在项目里完全引用element-ui5.引用组件6.运行项目 1.Element-ui简介 Element,一套为开发者、设计师和产品经理准备…...

Chapter 03 复合数据类型-1

1.列表 Python内置的一种有序、可变的序列数据类型; 列表的定义: [ ]括起来的逗号分隔的多个元素组成的序列 列表对象的创建: (1)直接赋值 >>> list1 []#创建一个空列表赋值给list1 >>> list…...

【Python知识】Python面向对象编程知识

Python面向对象编程知识 概述1. 类(Class)2. 对象(Object)3. 封装(Encapsulation)4. 继承(Inheritance)5. 多态(Polymorphism)6. 抽象(Abstractio…...

CSharp: Oracle Stored Procedure query table

存储过程查询postgreSQL,Oracle 和sql server,Mysql 有区别。程序调用也是有区别。 oracle sql script: CREATE OR REPLACE PROCEDURE procSelectSchool(paramSchoolId IN char,p_cursor OUT SYS_REFCURSOR ) AS BEGINOPEN p_cursor FORSELECT *FROM SchoolWHERE SchoolId p…...

“协同过滤技术实战”:网上书城系统的设计与实现

2.1 JSP技术介绍 Java Server Pages这三个英文词汇的首字母的组合就是JSP。所以JSP是一个简写的名字,代表动态网页开发技术。JSP与Java的关系可以使用公式表示,即:JSP HTMLJava,HTML就是编写静态内容的标记语言。JSP则是可以编写网…...

Dhatim FastExcel 读写 Excel 文件

Dhatim FastExcel 读写 Excel 文件 一、说明1、主要特点2、应用场景 二、使用方法1、引入依赖2、Sheet 数据3、读取 Excel4、写入 Excel 一、说明 Github 地址:Dhatim FastExcel Dhatim FastExcel是一个高性能、轻量级的Java库,专门用于读取和写入Exce…...

YOLO11全解析:从原理到实战,全流程体验下一代目标检测

前言 一、模型介绍 二、网络结构 1.主干网络(Backbone) 2.颈部网络(Neck) 3.头部网络(Head) 三、算法改进 1.增强的特征提取 2.优化的效率和速度 3.更高的准确性与更少的参数 4.环境适应性强 5.…...

深度学习领域的主要神经网络架构综述

阅读本文前请先按照顺序阅读: Coursera吴恩达《神经网络与深度学习》课程笔记(1)-- 深度学习概述_吴恩达深度学习课程-CSDN博客 https://blog.csdn.net/red_stone1/article/details/77799014 完结篇 | 吴恩达deeplearning.ai专项课程精炼笔…...

【Nginx系列】---Nginx配置tcp转发

参考 Nginx 配置文件: error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_connections 1024; }stream {# 第一个服务转发upstream mysqltest {server 172.16.187.142:9000;}server {listen 9000;proxy_pass mysqltest;}…...

Java抽象工厂+单例模式

在前端时间开发过程中,有这样一个业务场景:A;B两家厂商设备进行设备信息的同步功能。 根据实际场景,做了抽象工厂+单例模式实现调用工厂时,生成不同的具体业务引用对象,实现方法的调用。 概念: 抽象工厂模式通过接口或抽象类来创建一系列相关或依赖对象。它定义了一组工…...

后端接口设计

一、基本规范 1.URL设计 应遵循RESTful风格,使用动词名词的方式描述接口的功能。应简洁明了,易于理解和记忆。 2.请求协议及方法 使用HTTPS协议进行数据传输,保证数据在传输过程中的安全性。如无特殊情况,统一使用post方法。 …...

Docker部署Sentinel

一、简介 是什么:面向分布式、多语言异构化服务架构的流量治理组件 能干嘛:从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性 官网地址:https://sentinelguard.io/zh-c…...

真实环境下实车运行,新能源汽车锂离子电池数据集

引言 锂离子电池(Lithium-ion Batteries,LiBs)已经作为电动汽车核心动力源,其性能直接关系到系统的性能和使用安全。为确保锂电池的安全使用,需要对锂电池的状态进行精确的估计,包括荷电状态(State of Charge, soC)、健康状态(St…...

【求职面试】驾照的种类

大型客车 A1 大型载客汽车 A3、B1、B2、C1、C2、C3、C4、M 牵引车 A2 重型、中型全挂、半挂汽车列车 B1、B2、C1、C2、C3、C4、M 城市公交车 A3 核载10人以上的城市公共汽车 C1、C2、C3、C4 中型客车 B1 中型载客汽车(10人以上、19人以下) C1、C2、C3…...

centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!

在 CentOS 系统中,权限管理是操作系统的核心功能之一,确保不同用户和进程对文件、目录以及设备的访问被合理控制。 权限系统主要包括传统的 Unix 权限模型、特殊权限(SetUID、SetGID、Sticky 位)和更精细的访问控制列表&#xff…...

AI Agent案例全解析:百度营销智能体(8/30)

引言:在当今这个科技飞速发展的时代,AI技术呈现出爆发式的增长,正以前所未有的态势改变着众多行业的发展轨迹,营销领域也不例外。随着市场竞争的日益激烈,传统营销模式逐渐显露出疲态,对于变革的需求愈发迫…...

hive常用函数有哪些

Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的接口,用于数据查询和分析。Hive提供了许多内置函数,这些函数可以分为几种类型,包括: • 字符串函数:用于处理字符串数据。 • concat()&#xff1…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...