git 的常用指令
以下是 Git 命令分类大全,覆盖日常开发、团队协作和高级操作场景,按功能分类整理:
一、配置与初始化
| 命令 | 说明 |
|---|---|
git config --global user.name "Your Name" | 设置全局用户名 |
git config --global user.email "email@example.com" | 设置全局邮箱 |
git config --global core.editor "vim" | 设置默认编辑器 |
git config --list | 查看所有配置 |
git init | 初始化本地仓库 |
git clone <repo_url> | 克隆远程仓库到本地 |
二、文件操作
| 命令 | 说明 |
|---|---|
git add <file> | 添加文件到暂存区 |
git add . | 添加所有修改到暂存区 |
git rm <file> | 删除文件并加入暂存区 |
git mv <old> <new> | 重命名文件并加入暂存区 |
git restore <file> | 撤销工作区未暂存的修改(Git 2.23+) |
git restore --staged <file> | 撤销暂存区的修改(保留工作区) |
三、提交与历史
| 命令 | 说明 |
|---|---|
git commit -m "message" | 提交暂存区内容 |
git commit --amend | 修改最后一次提交信息或内容 |
git log | 查看提交历史 |
git log --oneline --graph | 简洁版提交历史(含分支图) |
git reflog | 查看所有操作历史(包括被删除的提交) |
四、分支管理
| 命令 | 说明 |
|---|---|
git branch | 查看本地分支 |
git branch -a | 查看所有分支(本地+远程) |
git switch <branch> | 切换分支(Git 2.23+推荐) |
git switch -c <new-branch> | 创建并切换分支 |
git merge <branch> | 合并指定分支到当前分支 |
git rebase <branch> | 变基(重写提交历史) |
git branch -d <branch> | 删除已合并的分支 |
git branch -D <branch> | 强制删除未合并的分支 |
五、远程仓库
| 命令 | 说明 |
|---|---|
git remote -v | 查看远程仓库地址 |
git remote add origin <url> | 关联远程仓库 |
git fetch | 拉取远程仓库元数据(不自动合并) |
git pull | 拉取并合并远程代码(相当于 git fetch + merge) |
git push origin <branch> | 推送本地分支到远程 |
git push -u origin <branch> | 首次推送并关联远程分支 |
git push --force | 强制推送(覆盖远程历史,慎用!) |
六、撤销与回退
| 命令 | 说明 |
|---|---|
git reset --soft HEAD^ | 回退到上一提交,保留修改到暂存区 |
git reset --hard HEAD^ | 彻底回退到上一提交(丢弃所有修改) |
git revert <commit> | 生成新提交来撤销指定提交(安全回退) |
git checkout HEAD -- <file> | 丢弃工作区某文件的修改 |
七、标签管理
| 命令 | 说明 |
|---|---|
git tag | 查看所有标签 |
git tag v1.0.0 | 创建轻量标签 |
git tag -a v1.0.0 -m "message" | 创建带注释的标签 |
git push origin --tags | 推送所有标签到远程 |
git tag -d v1.0.0 | 删除本地标签 |
八、储藏与临时工作
| 命令 | 说明 |
|---|---|
git stash | 临时储藏当前工作区修改 |
git stash list | 查看储藏列表 |
git stash pop | 恢复最新储藏并删除记录 |
git stash apply | 恢复储藏但不删除记录 |
九、子模块(Submodule)
| 命令 | 说明 |
|---|---|
git submodule add <repo_url> | 添加子模块 |
git submodule update --init --recursive | 初始化并更新子模块 |
十、高级操作
| 命令 | 说明 |
|---|---|
git cherry-pick <commit> | 复制指定提交到当前分支 |
git bisect start | 使用二分法定位问题提交 |
git blame <file> | 查看文件的逐行修改记录 |
git clean -fd | 删除未跟踪的文件和目录 |
十一、常见问题处理
1. 冲突解决
# 手动解决冲突后执行:
git add .
git commit -m "Resolved conflict"
2. 找回被删除的提交
git reflog # 找到丢失的提交哈希
git reset --hard <commit> # 恢复到该提交
3. 清理历史大文件
git filter-branch --tree-filter 'rm -f bigfile' HEAD # 从历史中永久删除文件
十二、常用别名设置(.gitconfig)
[alias]co = checkoutbr = branchci = commitst = statuslg = log --oneline --graph --decoratelast = log -1 HEAD
注意事项
- 危险操作:
reset --hard、push --force可能导致数据丢失,需谨慎使用。 - 分支规范:推荐使用
feature/xxx、hotfix/xxx等命名约定。 - 定期同步:频繁执行
git fetch保持本地与远程信息同步。
结合 GUI 工具(如 VS Code、GitKraken)可提升效率,但掌握命令行是核心能力!
相关文章:
git 的常用指令
以下是 Git 命令分类大全,覆盖日常开发、团队协作和高级操作场景,按功能分类整理: 一、配置与初始化 命令说明git config --global user.name "Your Name"设置全局用户名git config --global user.email "emailexample.com&q…...
python学智能算法(九)|决策树深入理解
【1】引言 前序学习进程中,初步理解了决策树的各个组成部分,此时将对决策树做整体解读,以期实现深入理解。 各个部分的解读文章链接为: python学智能算法(八)|决策树-CSDN博客 【2】代码 【2.1】完整代…...
蓝桥杯 C/C++ 组历届真题合集速刷(一)
一、1.单词分析 - 蓝桥云课 (模拟、枚举)算法代码: #include <bits/stdc.h> using namespace std;int main() {string s;cin>>s;unordered_map<char,int> mp;for(auto ch:s){mp[ch];}char result_charz;int max_count0;fo…...
多类型医疗自助终端智能化升级路径(代码版.上)
大型医疗自助终端的智能化升级是医疗信息化发展的重要方向,其思维链一体化路径需要围绕技术架构、数据流协同、算法优化和用户体验展开: 一、技术架构层:分布式边缘计算与云端协同 以下针对技术架构层的分布式边缘计算与云端协同模块,提供具体编程实现方案: 一、边缘节点…...
区间 DP 详解
文章目录 区间 DP分割型合并型环形合并 区间 DP 区间 DP,就是在对一段区间进行了若干次操作后的最小代价,一般是合并和拆分类型。 分割型 分割型,指把一个区间内的几项分开拆成一份一份的,再全部合起来就是当前答案,…...
如何在多线程中安全地使用 PyAudio
1. 背景介绍 在多线程环境下使用 PyAudio 可能会导致段错误(Segmentation Fault)或其他不可预期的行为。这是因为 PyAudio 在多线程环境下可能会出现资源冲突或线程安全问题。 PyAudio 是一个用于音频输入输出的 Python 库,它依赖于 PortAu…...
QAM 信号的距离以及能量归一化
QAM星座图平均功率能量_星座图功率计算-CSDN博客 正交幅度调制(QAM) - Vinson88 - 博客园 不同阶QAM调制星座图中,符号能量的归一化计算原理_qpsk的星座图归一化-CSDN博客 https://zhuanlan.zhihu.com/p/690157236...
Reactive编程框架与工具
文章目录 6.2 后端 Reactive 框架6.2.1 Spring WebFlux核心架构核心组件实际应用高级特性性能优化适用场景与限制 6.2.2 Akka(Actor模型)Actor模型基础基本用法高级特性响应式特性实现性能优化实际应用场景优势与挑战 6.2.3 Vert.x(事件驱动&…...
五子棋游戏开发:静态资源的重要性与设计思路
以下是以CSDN博客的形式整理的关于五子棋游戏静态资源需求的文章,基于我们之前的讨论,内容结构清晰,适合开发者阅读和参考。我尽量保持技术性、实用性,同时加入一些吸引读者的亮点。 五子棋游戏开发:静态资源的重要性与…...
Python爬虫第7节-requests库的高级用法
目录 前言 一、文件上传 二、Cookies 三、会话维持 四、SSL证书验证 五、代理设置 六、超时设置 七、身份认证 八、Prepared Request 前言 上一节,我们认识了requests库的基本用法,像发起GET、POST请求,以及了解Response对象是什么。…...
Maven的安装配置-项目管理工具
各位看官,大家早安午安晚安呀~~~ 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连,小编尽全力做到更好 欢迎您分享给更多人哦 今天我们来学习:Maven的安装配置-项目管理工具 目录 1.什么是Maven?Maven用来干什么的?…...
智能 SQL 优化工具 PawSQL 月度更新 | 2025年3月
📌 更新速览 本月更新包含 21项功能增强 和 9项问题修复,重点提升SQL解析精度与优化建议覆盖率。 一、SQL解析能力扩展 ✨ 新增SQL语法解析支持 SELECT...INTO TABLE 语法解析(3/26) ALTER INDEX RENAME/VISIBLE 语句解析&#…...
Ubuntu虚拟机编译安装部分OpenCV模块方法实现——保姆级教程
Ubuntu虚拟机的安装过程可以查看另一篇文章:VMware安装Ubuntu虚拟机实现COpenCV代码在虚拟机下运行教程-CSDN博客 目前我们已经下载好了OpenCV,这里以OpenCV4.5.2为例。 在内存要求尽可能小的情况下,可以尝试只编译安装代码中使用到的OpenC…...
find指令中使用正则表达式
linux查找命令能结合正则表达式吗 find命令要使用正则表达式需要结合-regex参数 另,-type参数可以指定查找类型(f为文件,d为文件夹) rootlocalhost:~/regular_expression# ls -alh 总计 8.0K drwxr-xr-x. 5 root root 66 4月 8日 16:26 . dr-xr-…...
Java Web从入门到精通:全面探索与实战(二)
Java Web从入门到精通:全面探索与实战(一)-CSDN博客 目录 四、Java Web 开发中的数据库操作:以 MySQL 为例 4.1 MySQL 数据库基础操作 4.2 JDBC 技术深度解析 4.3 数据库连接池的应用 五、Java Web 中的会话技术ÿ…...
基于大模型的阵发性室上性心动过速风险预测与治疗方案研究
目录 一、引言 1.1 研究背景与意义 1.2 研究目的与目标 1.3 研究方法与数据来源 二、阵发性室上性心动过速概述 2.1 定义与分类 2.2 发病机制与流行病学 2.3 临床表现与诊断方法 三、大模型在阵发性室上性心动过速预测中的应用 3.1 大模型技术原理与特点 3.2 模型构…...
秒杀业务的实现过程
一.后台创建秒杀的活动场次信息,并关联到要秒杀的商品或服务; 二.通过定时任务,将秒杀的活动信息和商品服务信息存储到redis; 三.在商品展示页的显眼位置加载秒杀活动信息; 四.用户参与秒杀,创建订单,将…...
spring mvc @ResponseBody 注解转换为 JSON 的原理与实现详解
ResponseBody 注解转换为 JSON 的原理与实现详解 1. 核心作用 ResponseBody 是 Spring MVC 的一个注解,用于将方法返回的对象直接序列化为 HTTP 响应体(如 JSON 或 XML),而不是通过视图解析器渲染为视图(如 HTML&…...
TDengine.C/C++ 连接器
简介 C/C 开发人员可以使用 TDengine 的客户端驱动,即 C/C 连接器(以下都用 TDengine 客户端驱动表示),开发自己的应用来连接 TDengine 集群完成数据存储、查询以及其他功能。TDengine 客户端驱动的 API 类似于 MySQL 的 C API。…...
[docker] 简单操作场景
Docker的简单操作场景 1 安装 暂时没空写~ 2 登陆 一共4步: ~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d765d4c1eb5f ubuntu:24.04 "/bin/bash" …...
skynet.rawcall使用详解及应用场景
目录 核心特性函数原型使用场景场景 1:高性能二进制传输(如文件转发)场景 2:自定义序列化协议(如 Protocol Buffers)场景 3:跨服务共享内存(避免拷贝) 配套接收方实现与 …...
使用SpringSecurity下,发生重定向异常
使用SpringSecurity下,发生空转异常 环境信息: Spring Boot 3.4.4 , jdk 17 , springSecurity 6.4.4 问题背景: 没有自定义controller ,改写了login 页面,并且进行了成功后的跳转处理…...
gbase8s之逻辑导出导入脚本(完美版本)
该脚本dbexport.sh用于快速导出库和导入库(使用多并发unload,和多并发dbload的方式) #!/bin/sh #脚本功能:将数据导出成文本,迁移至其他实例 #最后更新时间:2023-12-19 #使用方法: #1.执行该脚…...
Elasticsearch | ES索引模板、索引和索引别名的创建与管理
关注:CodingTechWork 引言 在使用 Elasticsearch (ES) 和 Kibana 构建数据存储和分析系统时,索引模板、索引和索引别名的管理是关键步骤。本文将详细介绍如何通过 RESTful API 和 Kibana Dev Tools 创建索引模板、索引以及索引别名,并提供具…...
【Easylive】视频删除方法详解:重点分析异步线程池使用
【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版 方法整体功能 这个deleteVideo方法是一个综合性的视频删除操作,主要完成以下功能: 权限验证:检查视频是否存在及用户是否有权限删除核心数据删除&…...
力扣hot100_回溯(2)_python版本
一、39. 组合总和(中等) 代码: class Solution:def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:ans []path []def dfs(i: int, left: int) -> None:if left 0:# 找到一个合法组合ans.append(pa…...
SGLang实战:从KV缓存复用到底层优化,解锁大模型高效推理的全栈方案
在当今快速发展的人工智能领域,大型语言模型(LLM)的应用已从简单对话扩展到需要复杂逻辑控制、多轮交互和结构化输出的高级任务。面对这一趋势,如何高效地微调并部署这些大模型成为开发者面临的核心挑战。本文将深入探讨SGLang——这一专为大模型设计的高…...
LPDDR4内存颗粒命名规则全解析:三星、镁光、海力士、南亚、长鑫等厂商型号解码与选型指南
由于之前DDR的系列选型文章有很好的反馈,所以补充LPDDR4低功耗内存的选型和命名规则,总结了目前市面上常用的内存,供硬件工程师及数码爱好者参考。 在智能手机、平板电脑和低功耗设备中,LPDDR4 SDRAM凭借其高带宽、低功耗特性成为…...
特权FPGA之Johnson移位
完整代码: module johnson(clk,rst_n,led,sw1_n,sw2_n,sw3_n);input clk; //时钟信号,50MHz input rst_n; //复位信号,低电平有效 output[3:0] led; //LED控制,1--灭…...
网络安全小知识课堂(最终完结版)
网络安全入门 :从 “小白” 到 “守护者” 的蜕变之旅 写在完结之际 历经 13 篇的深度探索,我们从 DDoS 攻击的 “流量洪水” 一路闯关到 HTTPS 的 “加密堡垒”,揭开了网络安全世界的层层面纱。感谢每一位读者的陪伴与互动,你们…...
