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的功能远不止于此,还有更多的高级特性和命令等待大家去探索和学习。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux-mysql5.7-mysql8.0安装包下载及安装教程,二合一

一、安装包下载 1、手动下载 MySQL :: Download MySQL Community Server 2、wegt下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 登录自己的liunx &#xff0c;复制上面的命令下载。 二、手动安装 1、上传压缩包到…

【数据结构与算法 | 灵神题单 | 自底向上DFS篇】力扣965, 2331, 100, 1379

1. 力扣965&#xff1a;单值二叉树 1.1 题目&#xff1a; 如果二叉树每个节点都具有相同的值&#xff0c;那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时&#xff0c;才返回 true&#xff1b;否则返回 false。 示例 1&#xff1a; 输入&#xff1a;[1,1,1,1,1,n…

EI-BISYNCH协议,欧陆2000系列设备读取数据

EI-Bisynch是一种基于ANSI X3.28-2.5 A4标准的专有协议&#xff0c;用于消息框架。尽管其名称中包含“Bisynch”&#xff0c;但它实际上是一种基于ASCII的异步协议。数据通过7位数据位、偶校验和1个停止位进行传输。 4.1 术语解释 4.1.1 地址 每个仪器都有一个可配置的地址&…

数据结构之二叉树(1)

数据结构之二叉树&#xff08;1&#xff09; 一、树 1、树的概念与结构 &#xff08;1&#xff09;树是一种非线性的数据结构&#xff0c;由n(n>0)个有限结点组成一个具有层次关系的集合。 &#xff08;2&#xff09;树有一个特殊的结点&#xff0c;叫做根结点&#xff…

shell指令及笔试题

一&#xff1a;linux基本指令考察 创建文件&#xff0c;直接在本目录的上级目录下创建一个名为dir1的文件夹&#xff0c;并在dir1文件夹下创建一个名为file1的文件 答&#xff1a;本目录的上级目录下创建一个名为dir1的文件:mkdir ../dir1 在dir1文件夹下创建一个名为file1的…

VS code 创建与运行 task.json 文件

VS code 创建与运行 task.json 文件 引言正文创建 .json 文件第一步第二步第三步 运行 .json 文件 引言 之前在 VS code EXPLORER 中不显示指定文件及文件夹设置&#xff08;如.pyc, pycache, .vscode 文件&#xff09; 一文中我们介绍了 settings.json 文件&#xff0c;这里我…

手动部署并测试内网穿透

文章目录 手动部署并测试内网穿透1、原理2、下载 frp 文件3、配置对应的配置文件4、启动 frp 服务5、效果 手动部署并测试内网穿透 1、原理 原理就是让你需要访问的内网可以被其他内网访问到。 其实就是让内网经过一个公网服务器的转发&#xff0c;使得能够被访问。 这里我们需…

2024年H1昇腾服务器中标统计:宝德超聚变遥遥领先

华为全联接大会将于9月19日召开&#xff0c;本届华为全联接大会&#xff08;HUAWEI CONNECT 2024&#xff09;以“共赢行业智能化”为主题&#xff0c;以昇腾鲲鹏AI计算为核心&#xff0c;赋能行业增长。 去年9月20日&#xff0c;第八届华为全联接大会在上海发布了昇腾Atlas 90…

解决redis缓存击穿问题之布隆过滤器

布隆过滤器 1. 什么是布隆过滤器 布隆过滤器&#xff08;Bloom Filter&#xff09;是一个空间效率很高的数据结构&#xff0c;用于判断一个元素是否在一个集合中。布隆过滤器的核心思想是利用位数组和一系列随机映射函数&#xff08;哈希函数&#xff09;来快速判断某个元素是…

什么是CSRF攻击,该如何防护CSRF攻击

CSRF攻击&#xff08;跨站请求伪造&#xff0c;Cross-Site Request Forgery&#xff09;是一种网络攻击手段&#xff0c;攻击者利用已通过身份验证的用户&#xff0c;诱导他们在不知情的情况下执行未授权操作。这种攻击通常发生在用户登录到可信网站并且有活动的会话时&#xf…

我的AI工具箱Tauri版-FunAsr音频转文本

本教程基于自研的AI工具箱Tauri版进行FunAsr音频转文本服务。 FunAsr音频转文本服务 是自研AI工具箱Tauri版中的一个高效模块&#xff0c;专为将音频或视频中的语音内容自动转化为文本或字幕而设计。用户只需简单配置输入、输出路径&#xff0c;即可通过FunAsr工具快速批量处理…

PCL KD树的使用

目录 一、概述 1.1原理 1.1.1 数据拆分过程 1.1.2 树的构建示例 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1KD树构建与查询&#xff1a; 2.1.2 k近邻搜索 2.1.3半径搜索 2.2完整代码 三、实现效果 3.1处理后点云 3.2数据显示 PCL点云算法汇总及实战…

linux系统维护:给linux的根目录分配更多的额外的磁盘空间,实现系统磁盘容量的平滑升级

目录 一、背景说明 二、概念介绍 1、物理卷&#xff08;Physical Volume, PV&#xff09; 2、卷组&#xff08;Volume Group, VG&#xff09; 3、逻辑卷&#xff08;Logical Volume, LV&#xff09;&#xff1a; 三、操作过程 1、vmware中新增磁盘 2、查看磁盘信息 3、格式化…

安卓13长按电源按键直接关机 andriod13不显示关机对话框直接关机

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 有些设备需要在长按电源键的时候,直接关机。不需要弹出对话框进行询问。 2.问题分析 过滤电源按键,需要在系统里面处理的话,那么我们需要熟悉android的事件分发,然后再…

stm32f411ceu6芯片学习

首先找到对应芯片的数据手册&#xff0c;硬件电路设计参考的是Electrical characteristics这一节&#xff0c;芯片的每一个引脚都会有推荐的电路接线。 基本每个芯片&#xff0c;都可以在数据手册中找到厂家提供的参考电路图&#xff0c;这就是绘制芯片的原理图最基本的依据。 …

力扣题解2390

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述​&#xff08;中等&#xff09;&#xff1a; 从字符串中移除星号 给你一个包含若干星号 * 的字符串 s 。 在一步操作中&#xff0c;你可以&#xff1a; 选中 s 中的一个星号。 移除星号…

清理C盘缓存,删除电脑缓存指令是什么

在处理计算机系统的C盘缓存清理任务时&#xff0c;需要谨慎操作以确保系统的稳定性和数据的安全性。通常&#xff0c;Windows操作系统中并没有直接的“一键清理C盘缓存”的单一命令&#xff0c;因为缓存文件分散存储于多个位置&#xff0c;并且有些缓存对于系统性能至关重要&am…

HarmonyOS元服务与卡片

元服务与卡片 文章目录 一、元服务1.介绍2.常见元服务项目步骤 二、卡片1.介绍2.卡片的创建3.卡片的数据的变更4.卡片的进程间通讯4.1使用工具包4.2使用步骤 5.卡片路由postCardAction&#xff1a;快速拉起后台5.1格式5.2快速拉起指定页面--router5.3调用后台功能--call5.3卡片…

基于Java的房地产在线营销管理系统研究与实现

目录 前言 功能设计 系统实现 获取源码 博主主页&#xff1a;百成Java 往期系列&#xff1a;Spring Boot、SSM、JavaWeb、python、小程序 前言 随着信息技术的迅猛发展&#xff0c;互联网已经渗透到我们生活的方方面面&#xff0c;为各行各业带来了前所未有的变革。房地产…

Linux学习笔记8 理解Ubuntu网络管理,做自己网络的主人

本文讲解了Ubuntu下网络由什么管理&#xff0c;介绍了临时ip和路由的设置方法&#xff0c;介绍了静态持久化网络配置的方法以及各网络管理软件之间的关系。 来看看Ubuntu网络管理。 序言 原本学习ubuntu网络管理就是为了检查nginx安装过程中使用wget获取压缩包为什么解析不出…