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

Git基础使用方法与命令总结

Git 是一个分布式版本控制系统,用于跟踪代码或文件的修改历史。以下是 Git 的基础使用方法和常用命令,适合快速上手:


1. 安装与配置

  • 安装 Git
    下载地址:https://git-scm.com/downloads(支持 Windows/macOS/Linux)
  • 全局配置
    git config --global user.name "你的名字"
    git config --global user.email "你的邮箱"
    

2. 日常使用流程

初始化仓库
git init          # 将当前目录初始化为 Git 仓库
git clone <仓库地址>  # 克隆远程仓库到本地(例如 git clone https://github.com/user/repo.git)
添加文件到暂存区
git add <文件名>     # 添加单个文件
git add .          # 添加所有修改和新文件
git add -A         # 添加所有修改、删除和新增文件
提交修改
git commit -m "提交描述"  # 提交暂存区的修改到本地仓库
查看状态
git status   # 查看当前仓库状态(修改/未跟踪的文件)
git log      # 查看提交历史
git log --oneline  # 简洁版提交历史

3. 分支管理

创建与切换分支
git branch          # 查看所有分支
git branch <分支名>  # 创建新分支
git checkout <分支名>  # 切换到分支
git switch <分支名>   # (推荐) 切换到分支(Git 2.23+)
git checkout -b <分支名>  # 创建并切换到新分支
合并分支
git merge <分支名>  # 将指定分支合并到当前分支
解决冲突

如果合并时发生冲突:

  1. 手动编辑标记了 <<<<<<<>>>>>>> 的文件。
  2. 解决冲突后执行:
    git add <冲突文件>
    git commit -m "解决冲突"
    
删除分支
git branch -d <分支名>  # 删除已合并的分支
git branch -D <分支名>  # 强制删除未合并的分支

4. 远程仓库(如 GitHub/GitLab)

连接远程仓库
git remote add origin <仓库地址>  # 关联远程仓库(首次)
git push -u origin <分支名>       # 推送并关联默认远程分支(首次推送)
推送与拉取
git push         # 推送本地提交到远程仓库
git pull         # 拉取远程仓库的最新内容并合并到本地
git fetch        # 仅拉取远程仓库的更新,不自动合并
查看远程信息
git remote -v    # 查看远程仓库地址
git remote show origin  # 查看远程仓库详细信息

5. 撤销操作

git restore <文件名>       # 撤销工作区的修改(Git 2.23+)
git reset HEAD <文件名>    # 取消暂存区的修改(旧版本 Git)
git reset --hard HEAD     # 丢弃所有未提交的修改(危险!)
git commit --amend        # 修改最近一次提交的注释或内容

6. 标签(版本标记)

git tag                  # 查看所有标签
git tag v1.0.0           # 创建轻量标签
git tag -a v1.0.0 -m "版本描述"  # 创建附注标签
git push origin --tags    # 推送所有标签到远程仓库

7. 常用技巧

  • 忽略文件
    创建 .gitignore 文件,列出需要忽略的文件或目录(如 node_modules/, .log)。
  • 别名配置
    git config --global alias.co checkout  # 用 git co 代替 git checkout
    
  • 查看差异
    git diff          # 查看工作区与暂存区的差异
    git diff --staged # 查看暂存区与最新提交的差异
    

8. 学习资源

  • 官方文档:https://git-scm.com/doc
  • 图形化工具:GitHub Desktop、SourceTree、VS Code 内置 Git 工具
  • 交互式练习:Learn Git Branching

掌握以上命令后,你已经可以应对日常开发中的大部分场景。建议从本地操作开始练习,再逐步熟悉远程协作!

相关文章:

Git基础使用方法与命令总结

Git 是一个分布式版本控制系统&#xff0c;用于跟踪代码或文件的修改历史。以下是 Git 的基础使用方法和常用命令&#xff0c;适合快速上手&#xff1a; 1. 安装与配置 安装 Git 下载地址&#xff1a;https://git-scm.com/downloads&#xff08;支持 Windows/macOS/Linux&…...

rust语言,与c,go语言一样也是编译成二进制文件吗?

是的&#xff0c;Rust 和 C、Go 一样&#xff0c;默认情况下会将代码编译成二进制可执行文件&#xff08;如 ELF、PE、Mach-O 等格式&#xff09;&#xff0c;但它们的编译过程和运行时特性有所不同&#xff1a; 1. Rust&#xff08;类似 C&#xff0c;直接编译为机器码&#x…...

从银行排队到零钱支付:用“钱包经济学”重构Java缓存认知

"当你的系统还在频繁访问数据库银行时&#xff0c;聪明的开发者早已学会用钱包零钱策略实现毫秒级响应——本文将用理财思维拆解缓存设计精髓&#xff0c;教你如何让代码学会小额快付的架构艺术。" 【缓存】作为程序员必须理解的概念之一&#xff0c;让我们用 ‌「钱…...

Json rpc 2.0比起传统Json在通信中的优势

JSON-RPC 2.0 相较于直接使用传统 JSON 进行通信&#xff0c;在协议规范性、开发效率、通信性能等方面具有显著优势。以下是核心差异点及技术价值分析&#xff1a; 一、结构化通信协议&#xff0c;降低开发成本 传统 JSON 通信需要开发者自定义数据结构和处理逻辑&#xff0c;…...

无缝部署您的应用程序:将 Jenkins Pipelines 与 ArgoCD 集成

在 DevOps 领域&#xff0c;自动化是主要目标之一。这包括自动化软件部署方式。与其依赖某人在部署软件的机器上进行 rsync/FTP/编写软件&#xff0c;不如使用 CI/CD 的概念。 CI&#xff0c;即持续集成&#xff0c;是通过代码提交创建工件的步骤。这可以是 Docker 镜像&#…...

网络安全-等级保护(等保) 2-5-1 GB/T 25070—2019 附录B (资料性附录)第三级系统安全保护环境设计示例

################################################################################ 文档标记说明&#xff1a; 淡蓝色&#xff1a;时间顺序标记。 橙色&#xff1a;为网络安全标准要点。 引用斜体&#xff1a;为非本文件内容&#xff0c;个人注解说明。 加粗标记&#xff1a…...

精准掌控张力动态,重构卷对卷工艺设计

一、MapleSim Web Handling Library仿真和虚拟调试解决方案 在柔性材料加工领域&#xff0c;卷对卷&#xff08;Roll-to-Roll&#xff09;工艺的效率与质量直接决定了产品竞争力。如何在高动态生产场景中实现张力稳定、减少断裂风险、优化加工速度&#xff0c;是行业长期面临的…...

怎么使用python进行PostgreSQL 数据库连接?

使用Python连接PostgreSQL数据库 在Python中连接PostgreSQL数据库&#xff0c;最常用的库是psycopg2。以下是详细的使用指南&#xff1a; 安装psycopg2 首先需要安装psycopg2库&#xff1a; pip install psycopg2 # 或者使用二进制版本&#xff08;安装更快&#xff09; pi…...

SQL Server权限设置的几种方法

SQL Server 的权限设置是数据库安全管理的核心&#xff0c;正确配置权限可以有效防止数据泄露、误操作和恶意篡改。下面详细介绍 SQL Server 权限设置的方法&#xff0c;涵盖从登录名创建到用户授权的完整流程。 一、权限设置的基本概念 SQL Server 的权限体系主要包括以下几…...

Neo4j(一) - Neo4j安装教程(Windows)

文章目录 前言一、JDK与Neo4j版本对应关系二、JDK11安装及配置1. JDK11下载2. 解压3. 配置环境变量3.1 打开系统属性设置3.2 新建系统环境变量3.3 编辑 PATH 环境变量3.4 验证环境变量是否配置成功 三、Neo4j安装&#xff08;Windows&#xff09;1. 下载并解压Neo4j安装包1.1 下…...

idea启用lombok

有lombok的项目在用idea打开的时候会提示启用lombok&#xff0c;但是。。。不小心就落下了...

uniapp婚纱预约小程序

uniapp婚纱预约小程序&#xff0c;这套设计bug很多&#xff0c;是一个半成品&#xff0c;一个客户让我修改&#xff0c;很多问题&#xff0c;页面显示不了&#xff0c;评论不能用&#xff0c;注册不能用&#xff0c;缺少表&#xff0c;最后稍微改一下&#xff0c;但是也有小问题…...

基于OpenCV的SIFT特征匹配指纹识别

文章目录 引言一、概述二、关键代码解析1. SIFT特征提取与匹配2. 指纹身份识别3. 姓名映射 三、使用示例四、技术分析五、完整代码六、总结 引言 指纹识别是生物特征识别技术中最常用的方法之一。本文将介绍如何使用Python和OpenCV实现一个简单的指纹识别系统&#xff0c;该系…...

Vue3 加快页面加载速度 使用CDN外部库的加载 提升页面打开速度 服务器分发

介绍 CDN&#xff08;内容分发网络&#xff09;通过全球分布的边缘节点&#xff0c;让用户从最近的服务器获取资源&#xff0c;减少网络延迟&#xff0c;显著提升JS、CSS等静态文件的加载速度。公共库&#xff08;如Vue、React、Axios&#xff09;托管在CDN上&#xff0c;减少…...

C++23:ranges::iota、ranges::shift_left和ranges::shift_right详解

文章目录 引言ranges::iota定义与功能使用场景代码示例 ranges::shift_left定义与功能使用场景代码示例 ranges::shift_right定义与功能使用场景代码示例 总结 引言 C23作为C编程语言的一个重要版本&#xff0c;为开发者带来了许多新的特性和改进。其中&#xff0c;ranges::io…...

Spring 框架中适配器模式的五大典型应用场景

Spring 框架中适配器模式的应用场景 在 Spring 框架中&#xff0c;适配器模式&#xff08;Adapter Pattern&#xff09;被广泛应用于将不同组件的接口转化为统一接口&#xff0c;从而实现组件间的无缝协作。以下是几个典型的应用场景&#xff1a; 1. HandlerAdapter - MVC 请…...

【Unity】 HTFramework框架(六十五)ScrollList滚动数据列表

更新日期&#xff1a;2025年5月16日。 Github 仓库&#xff1a;https://github.com/SaiTingHu/HTFramework Gitee 仓库&#xff1a;https://gitee.com/SaiTingHu/HTFramework 索引 一、ScrollList滚动数据列表二、使用ScrollList1.快捷创建ScrollList2.ScrollList的属性3.自定义…...

Android SwitchButton 使用详解:一个实际项目的完美实践

Android SwitchButton 使用详解&#xff1a;一个实际项目的完美实践 引言 在最近开发的 Android 项目中&#xff0c;我遇到了一个需要自定义样式开关控件的需求。经过多方比较&#xff0c;最终选择了功能强大且高度可定制的 SwitchButton 控件。本文将基于实际项目中的使用案…...

【C++ 基础数论】质数判断

质数判断 质数&#xff1a;对于所有大于 1 的自然数而言&#xff0c;如果该数除 1 和自身以外没有其它因数 / 约数&#xff0c;则该数被称为为质数&#xff0c;质数也叫素数。 如何判定一个数是否为质数呢&#xff1f; 一个简单的方法是 试除法 &#xff1a; 对于一个数 n&…...

【数据结构】手撕AVL树(万字详解)

目录 AVL树的概念为啥要有AVL树&#xff1f;概念 AVL树节点的定义AVL树的插入AVL树的旋转左单旋右单旋左右双旋右左双旋 AVL树的查找AVL树的验证end AVL树的概念 为啥要有AVL树&#xff1f; 在上一章节的二叉搜索树中&#xff0c;我们在插入节点的操作中。有可能一直往一边插…...

Chrome代理IP配置教程常见方式附问题解答

在网络隐私保护和跨境业务场景中&#xff0c;为浏览器配置代理IP已成为刚需。无论是访问地域限制内容、保障数据安全&#xff0c;还是管理多账号业务&#xff0c;掌握Chrome代理配置技巧都至关重要。本文详解三种主流代理设置方式&#xff0c;助你快速实现精准流量管控。 方式一…...

SpringBoot + Shiro + JWT 实现认证与授权完整方案实现

SpringBoot Shiro JWT 实现认证与授权完整方案 下面博主将详细介绍如何使用 SpringBoot 整合 Shiro 和 JWT 实现安全的认证授权系统&#xff0c;包含核心代码实现和最佳实践。 一、技术栈组成 技术组件- 作用版本要求SpringBoot基础框架2.7.xApache Shiro认证和授权核心1.…...

深入解析VPN技术原理:安全网络的护航者

在当今信息化迅速发展的时代&#xff0c;虚拟私人网络&#xff08;VPN&#xff09;技术成为了我们在互联网时代保护隐私和数据安全的重要工具。VPN通过为用户与网络之间建立一条加密的安全通道&#xff0c;确保了通讯的私密性与完整性。本文将深入解析VPN的技术原理、工作机制以…...

OceanBase 的系统变量、配置项和用户变量有何差异

在继续阅读本文之前&#xff0c;大家不妨先思考一下&#xff0c;数据库中“系统变量”、“用户变量”以及“配置项”这三者之间有何不同。如果感到有些模糊&#xff0c;那么本文将是您理清这些概念的好帮手。 很多用户在使用OceanBase数据库中的“配置项”和“系统变量”&#…...

ReinboT:通过强化学习增强机器人视觉-语言操控能力

25年5月来自浙大和西湖大学的论文“ReinboT: Amplifying Robot Visual-Language Manipulation with Reinforcement Learning”。 视觉-语言-动作 (VLA) 模型通过模仿学习在一般机器人决策任务中展现出巨大潜力。然而&#xff0c;训练数据的质量参差不齐通常会限制这些模型的性…...

MySQL联表查询:多表关联与嵌套查询指南

引言 各位数据库爱好者们好&#xff01;今天我们要挑战MySQL查询技能的高阶关卡——复杂查询 &#x1f680;。在真实业务场景中&#xff0c;数据往往分散在多个表中&#xff0c;就像拼图的各个碎片&#xff0c;只有掌握了多表查询的"拼图技巧"&#xff0c;才能将它们…...

QBasic 一款古老的编程语言在现代学习中的价值(附程序)

QBasic&#xff08;Quick Beginner’s All-purpose Symbolic Instruction Code&#xff09;是微软公司于 1991 年推出的一款简单易学的编程语言&#xff0c;作为BASIC语言的变种&#xff0c;它曾广泛应用于教育领域和初学者编程入门。尽管在当今Python、Java等现代编程语言主导…...

基于Backtrader库的均线策略实现与回测

本文将通过Python语言和强大的Backtrader库,详细介绍如何实现一个基于均线的简单交易策略,并进行历史数据的回测。将一步步构建这个策略,从数据获取、策略定义到回测结果分析,帮助你深入理解并掌握这一过程。 一、环境配置与库安装 1.1 安装必要的Python库 确保你已经安…...

Elasticsearch 分词与字段类型(keyword vs. text)面试题

Elasticsearch 分词与字段类型(keyword vs. text)面试题 🔍 目录 基础概念底层存储查询影响多字段聚合与排序分词器实战排查总结基础概念 💡 问题1:Elasticsearch 中的 keyword 和 text 类型有什么区别? 👉 查看参考答案 对比项keywordtext分词(Analysis)❌ 不进…...

Java 后端给前端传Long值,精度丢失的问题与解决

为什么后端 Long 类型 ID 要转为 String&#xff1f; 在前后端分离的开发中&#xff0c;Java 后端通常使用 Long 类型作为主键 ID&#xff08;如雪花算法生成的 ID&#xff09;。但如果直接将 Long 返回给前端&#xff0c;可能会导致前端精度丢失的问题&#xff0c;特别是在 J…...

【C++】 —— 笔试刷题day_29

一、排序子序列 题目解析 一个数组的连续子序列&#xff0c;如果这个子序列是非递增或者非递减的&#xff1b;这个连续的子序列就是排序子序列。 现在给定一个数组&#xff0c;然后然我们判断这个子序列可以划分成多少个排序子序列。 例如&#xff1a;1 2 3 2 2 1 可以划分成 …...

高光谱遥感图像处理之数据分类的fcm算法

基于模糊C均值聚类&#xff08;FCM&#xff09;的高光谱遥感图像分类MATLAB实现示例 %% FCM高光谱图像分类示例 clc; clear; close all;%% 数据加载与预处理 % 加载示例数据&#xff08;此处使用公开数据集Indian Pines的简化版&#xff09; load(indian_pines.mat); % 包含变…...

衡量 5G 和未来网络的安全性

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 在当今日益互联和快节奏的数字生态系统中&#xff0c;移动网络&#xff08;如 5G&#xff09;和未来几代&#xff08;如 6G&#xff09;发挥着关键作用&#xff0c;必须被视为关键基础设施。确保其…...

【Vite】前端开发服务器的配置

定义一些开发服务器的行为和代理规则 服务器的基本配置 server: {host: true, // 监听所有网络地址port: 8081, // 使用8081端口open: true, // 启动时自动打开浏览器cors: true // 启用CORS跨域支持 } 代理配置 proxy: {/api: {target: https://…...

文章记单词 | 第85篇(六级)

一&#xff0c;单词释义 verb /vɜːrb/- n. 动词wave /weɪv/- v. 挥手&#xff1b;波动&#xff1b;挥舞 /n. 波浪&#xff1b;波&#xff1b;挥手add /d/- v. 增加&#xff1b;添加&#xff1b;补充说liberal /ˈlɪbərəl/- adj. 自由的&#xff1b;开明的&#xff1b;慷…...

通过实例讲解螺旋模型

目录 一、螺旋模型的核心概念 二、螺旋模型在电子商城系统开发中的应用示例 第 1 次螺旋:项目启动与风险初探...

(面试)Android各版本新特性

Android 6.0 (Marshmallow, API 23) 运行时权限管理&#xff1a;用户可在应用运行时动态授予或拒绝权限&#xff0c;取代安装时统一授权4。Doze模式与应用待机&#xff1a;优化后台耗电&#xff0c;延长设备续航5。指纹识别支持&#xff1a;原生API支持指纹身份验证。 Android…...

如何有效的开展接口自动化测试?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中&#xff0c;通过对接口的自动化测试来提高测…...

当 PyIceberg 和 DuckDB 遇见 AWS S3 Tables:打造 Serverless 数据湖“开源梦幻组合”

引言 在一些大数据分析场景比如电商大数据营销中&#xff0c;我们需要快速分析存储海量用户行为数据&#xff08;如浏览、加购、下单&#xff09;&#xff0c;以进行用户行为分析&#xff0c;优化营销策略。传统方法依赖 Spark/Presto 集群或 Redshift 查询 S3 上的 Parquet/O…...

泰迪杯特等奖案例深度解析:基于MSER-CNN的商品图片字符检测与识别系统设计

(第四届泰迪杯数据挖掘挑战赛特等奖案例全流程拆解) 一、案例背景与核心挑战 1.1 行业痛点与场景需求 在电商平台中,商品图片常包含促销文字(如“3折起”“限时秒杀”),但部分商家采用隐蔽文字误导消费者(如“起”字极小或位于边角)。传统人工审核效率低(日均处理量…...

开发工具指南

后端运维场用工具 工具文档简介1panel安装指南运维管理面板网盘功能介绍网盘jenkins可以通过1panel 进行安装jpom辅助安装文档后端项目发布工具...

将 Element UI 表格元素导出为 Excel 文件(处理了多级表头和固定列导出的问题)

import { saveAs } from file-saver import XLSX from xlsx /*** 将 Element UI 表格元素导出为 Excel 文件* param {HTMLElement} el - 要导出的 Element UI 表格的 DOM 元素* param {string} filename - 导出的 Excel 文件的文件名&#xff08;不包含扩展名&#xff09;*/ ex…...

图像对比度调整(局域拉普拉斯滤波)

一、背景介绍 之前刷对比度相关调整算法&#xff0c;找到效果不错&#xff0c;使用局域拉普拉斯做图像对比度调整&#xff0c;尝试复现和整理了下相关代码。 二、实现流程 1、基本原理 对输入图像进行高斯金字塔拆分&#xff0c;对每层的每个像素都针对性处理&#xff0c;生产…...

【控制波形如何COPY并无痛使用】

控制波形如何COPY并无痛使用 波形分析思路概况记录波形 波形分析 通过逻辑分析仪可以解析到设备的控制波形&#xff0c;在一些对于电机控制类的设备上显得尤为重要。通过分析不同波形&#xff0c;将PWM的波形存储到程序中得以实现&#xff0c;并建立合理的数据结构。 思路概…...

CSDN-2024《AGP-Net: Adaptive Graph Prior Network for Image Denoising》

推荐深蓝学院的《深度神经网络加速&#xff1a;cuDNN 与 TensorRT》&#xff0c;课程面向就业&#xff0c;细致讲解CUDA运算的理论支撑与实践&#xff0c;学完可以系统化掌握CUDA基础编程知识以及TensorRT实战&#xff0c;并且能够利用GPU开发高性能、高并发的软件系统&#xf…...

使用IDEA开发Spark Maven应用程序【超详细教程】

一、创建项目 创建maven项目 二、修改pom.xml文件 创建好项目后&#xff0c;在pom.xml中改为&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w…...

深入探索MCP通信:构建高效的MCP Client

在现代软件开发中&#xff0c;高效的通信机制是构建复杂系统的关键。MCP&#xff08;Model-Controller-Proxy&#xff09;架构作为一种新兴的开发模式&#xff0c;提供了强大的工具来实现客户端与服务器之间的高效通信。本文将通过实际代码示例&#xff0c;详细探讨如何使用MCP…...

【第76例】IPD流程实战:华为业务流程架构BPA进化的4个阶段

目录 简介 第一个阶段,业务流程架构BPA1.0 第二个阶段,业务流程架构BPA2.0 BPA3.0、4.0 作者简介 简介 不管业务是复杂还是简单,企业内外的所有事情、所有业务都最终会归于流程。 甚至是大家经常说的所谓的各种方法论,具体的落脚点还是在流程上。 比如把大象放进冰…...

25-05-16计算机网络学习笔记Day1

深入剖析计算机网络&#xff1a;今日学习笔记总结 本系列博客源自作者在大二期末复习计算机网络时所记录笔记&#xff0c;看的视频资料是B站湖科大教书匠的计算机网络微课堂&#xff0c;每篇博客结尾附书写笔记(字丑见谅哈哈) 视频链接地址 一、计算机网络基础概念 &#xf…...

车道线检测----CLRNet

继续更新本系列&#xff0c;本文CLRNet&#xff0c;文章主要目的是弄懂论文关键部分&#xff0c;希望对文章细节有一个深刻的理解&#xff0c;有帮助的话&#xff0c;请收藏支持。 CLRNet&#xff1a;用于车道检测的跨层精炼网络 摘要 车道在智能车辆的视觉导航系统中至关重要…...