Git常用指令大全详解

Git常用指令大全详解

Git,作为目前最流行的分布式版本控制系统,其强大的功能和灵活性为开发者提供了极大的便利。无论是个人项目还是团队协作,Git都扮演着不可或缺的角色。本文将详细总结Git的常用指令,帮助大家更好地掌握这一工具。

在这里插入图片描述

一、Git基础配置

  1. 设置用户信息

    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱"
    

    配置全局的用户名和邮箱,这些信息会被记录到每次提交中。

  2. 检查配置

    git config --list
    

    查看当前Git的配置信息。

  3. 设置SSH密钥

    生成SSH密钥(默认路径为~/.ssh/id_rsa~/.ssh/id_rsa.pub):

    ssh-keygen -t rsa -b 4096 -C "你的邮箱"
    

    然后,将公钥(id_rsa.pub)添加到你的Git服务器(如GitHub、Gitee等)上。

二、Git仓库操作

  1. 初始化仓库

    git init
    

    在当前目录下初始化一个新的Git仓库。

  2. 克隆仓库

    git clone <repository-url>
    

    克隆远程仓库到本地。

  3. 查看仓库状态

    git status
    

    查看当前工作目录的状态,包括已修改、未提交等信息。

三、文件操作

  1. 添加文件到暂存区

    git add <file>
    

    添加指定文件到暂存区。如果要添加所有修改过的文件,可以使用git add .

  2. 提交文件到仓库

    git commit -m "提交信息"
    

    将暂存区的文件提交到本地仓库。

  3. 查看提交历史

    git log
    

    查看提交历史记录。

  4. 撤销修改

    • 撤销工作区的修改(未添加到暂存区):

      git checkout -- <file>
      
    • 撤销暂存区的修改(已添加到暂存区但未提交):

      git reset HEAD <file>
      
    • 撤销已提交的修改(通过版本回退):

      git reset --hard <commit-id>
      

四、分支操作

  1. 查看分支

    git branch
    

    查看本地分支列表。加上-r参数可以查看远程分支。

  2. 创建分支

    git branch <branch-name>
    

    创建新的本地分支。

  3. 切换分支

    git checkout <branch-name>
    

    切换到指定分支。在Git 2.23及以后版本中,可以使用git switch <branch-name>来切换分支。

  4. 合并分支

    git merge <branch-name>
    

    将指定分支合并到当前分支。

  5. 删除分支

    git branch -d <branch-name>
    

    删除本地分支。如果分支还没有被合并,需要使用-D参数强制删除。

  6. 推送分支到远程仓库

    git push origin <branch-name>
    

    将本地分支推送到远程仓库。

  7. 拉取远程分支到本地

    git fetch origin <branch-name>
    git checkout -b <local-branch-name> origin/<remote-branch-name>
    

    先从远程仓库拉取分支信息,然后在本地创建并切换到新分支,同时关联到远程分支。

五、远程仓库操作

  1. 查看远程仓库

    git remote -v
    

    查看当前配置的远程仓库列表。

  2. 添加远程仓库

    git remote add <repository-name> <repository-url>
    

    添加新的远程仓库。

  3. 推送本地修改到远程仓库

    git push <repository-name> <branch-name>
    

    将本地分支的修改推送到远程仓库。

  4. 从远程仓库拉取更新

    git pull <repository-name> <branch-name>
    

    从远程仓库拉取指定分支的更新并合并到当前分支。

  5. 移除远程仓库

    git remote remove <repository-name>
    

    移除指定的远程仓库配置。

六、标签操作

  1. 创建标签

    git tag <tag-name>
    

    在当前分支的最新提交上创建一个标签。

  2. 查看标签

    git tag
    

    查看所有标签列表。

  3. 推送标签到远程仓库

    git push origin <tag-name>
    

    将指定标签推送到远程仓库。

  4. 删除标签

    • 删除本地标签:

      git tag -d <tag-name>
      
    • 删除远程标签:

      git push origin :refs/tags/<tag-name>
      

七、其他高级操作

  1. 查看配置

    git config --list
    

    查看Git的全局和仓库级配置。

  2. 设置别名

    git config --global alias.<alias-name> <command>
    

    为Git命令设置别名,以便简化使用。

  3. 存储工作进度

    git stash
    

    将当前工作区的修改临时存储起来,以便切换到其他分支或进行其他操作。

  4. 恢复存储的工作进度

    git stash pop
    

    恢复最近一次存储的工作进度。

  5. 清理未跟踪的文件和目录

    git clean -fd
    

    清理工作区中未跟踪的文件和目录。

结语

本文详细总结了Git的常用指令,涵盖了基础配置、仓库操作、文件操作、分支操作、远程仓库操作、标签操作以及其他高级操作。希望这些内容能够帮助大家更好地掌握Git,提高开发效率。当然,Git的功能远不止于此,还有更多的高级特性和命令等待大家去探索和学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/426974.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

九大B端开源组件库:总览篇,B端设计绕不开的话题。

如果你经常接触B端设计&#xff0c;开源组件库是各个绕不开的话题&#xff0c;市场上的组件库林林总总&#xff0c;本次做一个总体介绍&#xff0c;后面有机会再分开详细介绍。 一、最常用的组件库&#xff0c;推出的时间。 自Bootstrap诞生后&#xff0c;B端PC中后台组件库如…

爬虫代理API的全面解析:让数据抓取更高效

在大数据时代&#xff0c;网络爬虫已经成为收集和分析数据的重要工具。然而&#xff0c;频繁的请求会导致IP被封禁&#xff0c;这时候爬虫代理API就显得尤为重要。本文将详细介绍爬虫代理API的作用、优势及如何使用&#xff0c;帮助你更高效地进行数据抓取。 什么是爬虫代理AP…

C++刷怪笼(5)内存管理

一.前言 学习完类和对象之后&#xff0c;我们对C有了基本的了解&#xff0c;但是我们对于C的学习&#xff0c;除了广度&#xff0c;还需要深度&#xff0c;今天让我们走进底层&#xff0c;看看C对其内存是如何进行管理的。 二.正文 我们对这段代码进行详细的分析如下图&#…

技术美术一百问(02)

问题 前向渲染和延迟渲染的流程 前向渲染和延迟渲染的区别 G-Buffer是什么 前向渲染和延迟渲染各自擅长的方向总结 GPU pipeline是怎么样的 Tessellation的三个阶段 什么是图形渲染API? 常见的图形渲染API有哪些&#xff1f; 答案 1.前向渲染和延迟渲染的流程 【例图…

使用Rust直接编译单个的Solidity合约

这里写自定义目录标题 使用Rust直接编译单个的Solidity合约前言预备知识准备工作示例 使用Rust直接编译单个的Solidity合约 前言 我们知道&#xff0c;我们平常开发Solidity智能合约时一般使用Hardhat框架&#xff0c;但是如果你是一个Rustacean (这是由 “Rust” 和 “crust…

2024年【中级消防设施操作员(考前冲刺)】及中级消防设施操作员(考前冲刺)模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 中级消防设施操作员&#xff08;考前冲刺&#xff09;根据新中级消防设施操作员&#xff08;考前冲刺&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将中级消防设施操作员&#xff08;考前冲刺&#xf…

设计模式之建造者模式(通俗易懂--代码辅助理解【Java版】)

文章目录 设计模式概述1、建造者模式2、建造者模式使用场景3、优点4、缺点5、主要角色6、代码示例&#xff1a;1&#xff09;实现要求2&#xff09;UML图3)实现步骤&#xff1a;1&#xff09;创建一个表示食物条目和食物包装的接口2&#xff09;创建实现Packing接口的实体类3&a…

golang 字符串浅析

go的字符串是只读的 测试源代码 package mainimport ("fmt""unsafe" )func swap(x, y string) (string, string) {return y, x }func print_string(obj *string, msg string) {string_ptr : (*[2]uintptr)(unsafe.Pointer(obj))first_obj_addr : string_…

MySQL系列—13.事务

1、事务 事务是逻辑上的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。 事务控制语法 - 事务开始 begin; - 事务提交&#xff0c;提交后就会写入物理磁盘中去 commit; - 事务回滚&#xff0c;事务提交后&#xff0c;无法回滚 rollback;事务的四大特性&#xff0…

基于51单片机的温度电流电压检测系统(压力、电压、温度、电流、LCD1602)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;通过DS18B20检测温度&#xff0c;滑动变阻器连接数模转换器模拟电流、电压&#xff0c;通过LCD1602显示&#xff0c;程序里设置温度阈值为40&#xff0c;电流阈值为60&am…

六西格玛咨询:石油机械制造企业的成本控制与优化专家

一、石油机械制造行业现状及主要困扰 随着全球能源需求的日益增长&#xff0c;石油开采和生产设备需求不断增加&#xff0c;石油机械制造行业在过去数十年里得到了迅猛发展。然而&#xff0c;石油机械制造作为一个高度复杂且技术密集的行业&#xff0c;也面临着多重挑战。首先…

【Vue】- 路由及传参

文章目录 知识回顾前言源码分析1. 声明式导航2. 路由传参3. 可选符4. 重定向5. 4046. 跳转及传参7. 路由懒加载拓展知识总结router-link静态传参和动态路由的对比知识回顾 前言 什么是单页面应用程序? ● 所有功能在一个html页面上实现 单页面应用优缺点? ● 优点:按需更新…

大模型时代的 AI 产品经理何去何从?

每天 LLM 相关的资讯都让人过载。作为 AI 产品经理&#xff0c;你是更兴奋呢&#xff0c;还是更担忧呢&#xff1f;整理了一下个人近期的思考&#xff0c;欢迎感兴趣的朋友一起交流。不管答案如何&#xff0c;相信我们都不应置身事外。 1 关于大模型‍‍ 大模型的各种原理讲…

OpenAI O1热度己过-如此快速的冷场带来的是人们更多对现今“AI”的思考

引入o1的瞬间辉煌 o1如耀眼的新星&#xff0c;闪耀于科技天空。发布时&#xff0c;因其思考能力而备受瞩目。它能在回答问题之前进行更多的思考&#xff0c;尤其擅长复杂推理。这种能力引发了众多用户的好奇与热情。诸如“9.8和9.11哪个大&#xff1f;”的简单问题被广泛地验证…

上海人工智能实验室开源视频生成模型Vchitect 2.0 可生成20秒高清视频

上海人工智能实验室日前推出的Vchitect2.0视频生成模型正在悄然改变视频创作的游戏规则。这款尖端AI工具不仅简化了视频制作流程&#xff0c;还为创作者提供了前所未有的灵活性和高质量输出。 Vchitect2.0的核心优势在于其强大的生成能力和高度的可定制性。用户只需输入文字描…

Java获取随机数

在Java中获取随机数通常会使用java.util.Random类或者Math.random()方法 1.java.util.Random java.util.Random类用于生成伪随机数。 // 使用无参构造方法创建Random对象Random rand new Random();// 生成一个[0, 100)范围内的随机整数int randomInt rand.nextInt(100);Sys…

算法练习题26——多项式输出(模拟)

输入格式 输入共有 2 行 第一行 1 个整数&#xff0c;n&#xff0c;表示一元多项式的次数。 第二行有 n1 个整数&#xff0c;其中第 i 个整数表示第 n−i1 次项的系数&#xff0c;每两个整数之间用空格隔开。 输出格式 输出共 1 行&#xff0c;按题目所述格式输出多项式。…

【ARM】中断的处理

ARM的异常向量表 如果发生异常后并没有exception level切换&#xff0c;并且发生异常之 前使用的栈指针是SP_EL0&#xff0c;那么使用第一组异常向量表。如果发生异常后并没有exception level切换&#xff0c;并且发生异常之 前使用的栈指针是SP_EL1/2/3&#xff0c;那么使用第…

雷朋太阳镜和AEG的制胜法宝是:音乐节以及数据驱动的品牌推广

图片来源&#xff1a;Photo by Ethan Robertson on Unsplash 几十年来&#xff0c;我们见证了流行文化偶像对大众的影响。雷朋一直是一个深受偶像和大众喜爱的品牌。借助这股浪潮&#xff0c;雷朋与全球最大的娱乐公司之一AEG合作&#xff0c;吸引消费者&#xff0c;并以沉浸式…

JAVA-集合相关

HashMap如何解决哈希冲突的&#xff1f; 计算hash值&#xff0c;基于hashCode计算冲突之后&#xff0c;先是使用链式寻址法当链表长度大于8&#xff0c;且hash表的容量大于60的时候&#xff0c;再添加元素则转化成红黑树 为什么计算hash值是&#xff0c;是将hash地址的值右移1…