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

GIT命令操作大全

文章目录

    • 一、前言
    • 二、工作模块
      • 2.1 Workspace:工作区
      • 2.2 Index / Stage:暂存区
      • 2.3 Repository:本地仓库
      • 2.4Remote:远程仓库
    • 三、GIT基本配置
    • 四、GIT项目代码管理
      • 4.1 初始化git仓库
      • 4.2 提交到暂存区(stage)
      • 4.3 将暂存区的文件恢复到工作区
      • 4.4 查看工作区、暂存区的状态
      • 4.5 移除暂存区的修改
      • 4.6 将缓存区文件提交到本地仓库
      • 4.7 撤销commit提交
      • 4.8 查看日志
    • 五、版本控制
      • 5.1 回到指定哈希值对应的版本
      • 5.2 版本回退
    • 六、GIT分支
      • 6.1 查看分支
      • 6.2 创建分支
      • 6.3 切换分支
      • 6.4 创建并切换分支
      • 6.5 合并分支
      • 6.6 删除分支
      • 6.7 删除远程分支
    • 七、远程仓库(团队合作)
      • 7.1 克隆远程仓库
      • 7.2本地仓库与远程库进行关联
      • 7.3 查看远程仓库地址别名
      • 7.4 新建远程仓库地址别名
      • 7.5 删除本地仓库中的远程仓库别名
      • 7.6 重命名远程仓库地址别名
      • 7.7 远程库的修改拉取到本地
      • 7.8 将本地的分支推送到远程仓库(先拉取在push)

一、前言

Git是目前世界上最先进的分布式版本控制系统,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。通过远程仓库实现多人协作开发。

二、工作模块

在这里插入图片描述

2.1 Workspace:工作区

就是你在电脑上看到的目录,有一个隐藏文件夹.git,这个不属于工作区,这是版本库。

2.2 Index / Stage:暂存区

暂缓区是存在于版本库中的,也就是.git文件下。通过git add将工作区修改的文件提交到暂存区中

2.3 Repository:本地仓库

这个就代表整个项目在本地电脑中存放的仓库,通过git commit将暂存区数据提交到本地仓库中。

2.4Remote:远程仓库

本地仓库通过pull拉去远程仓库数据,然后push将本地仓库修改内容提交到远程仓库中。

三、GIT基本配置

  1. 检查git版本:git --version
  2. 查看git相关命令:git --help
  3. 查看当前的git配置信息: git config --list
  4. 查看/设置git用户名: git config user.namegit config --global user.name 名称
  5. 查看/设置git邮箱: git config user.namegit config --global user.email 邮箱

四、GIT项目代码管理

4.1 初始化git仓库

git init

4.2 提交到暂存区(stage)

  1. git add * 将工作区所有修改添加到暂存区

  2. git add . 将工作区所有修改添加到暂存区

  3. git add <file-name> 将指定文件添加到暂存区

  4. git add *.js 提交所有.js格式文件

  5. git add -f <file-name> 强制添加 指定文件添加到暂存区

注:指的是文件的名称

4.3 将暂存区的文件恢复到工作区

  1. git reset <file-name> 从暂存区恢复指定到工作区

  2. git reset -- . 从暂存区恢复所有文件到工作区

  3. git reset --hard ` 把暂存区的修改退回到工作区

4.4 查看工作区、暂存区的状态

git status

4.5 移除暂存区的修改

git rm --cached <file-name>

4.6 将缓存区文件提交到本地仓库

  1. git commit <file-name> ... "相关的记录信息" 将暂缓区指定文件提交到本地仓库
  2. git commit -m "相关的记录信息" 将暂缓区的所有文件提交到本地仓库
  3. git commit -am "相关的记录信息" 跳过暂存区域直接提交更新并添加备注信息
  4. git commit --amend "相关的记录信息" 使用一次新的commit,替代上次提交

4.7 撤销commit提交

  1. git revert HEAD^ 撤销上上次的提交
  2. git revert HEAD 撤销最近的一个提交(创建了一个撤销上次提交(HEAD)的新提交)

4.8 查看日志

  1. 查看历史提交(commit)记录
  1. git log //查看历史commit记录注:空格向下翻页,b向上翻页,q退出
  2. git log --oneline //以简洁的一行显示,包含简洁哈希索引值
  3. git log --pretty=oneline //查看日志且并且显示版本
  4. git log --stat //显示每个commit中哪些文件被修改,分别添加或删除了多少行
  1. git log --graph 查看分支合并图

  2. git log --oneline --graph 查看版本线图

五、版本控制

5.1 回到指定哈希值对应的版本

  1. git reset --hard <Hash> 注: 是版本的哈希值
  2. git reset --hard HEAD 强制工作区、暂存区、本地库为当前HEAD指针所在的版本

5.2 版本回退

git reset --hard HEAD~1 后退一个版本
注:~后面的数字表示回退多少个版本

六、GIT分支

6.1 查看分支

  1. git branch 查看所有本地分支
  2. git branch -r 查看所有远程分支
  3. git branch -a 查看所有远程分支和本地分支
  4. git branch --merged 查看已经合并的分支

6.2 创建分支

git branch <branch-name>
注: 是分支的名称

6.3 切换分支

  1. git checKout <branch-name> 切换到指定分支,并更新工作区

  2. git checkout - 切换到上一个分支

6.4 创建并切换分支

git chechout -b <branch-name>

6.5 合并分支

git merge <branch-name>

6.6 删除分支

  1. git branch -d <branch-name> 只能删除已经被当前分支合并的分支
  2. git branch -D <>branch-name> 强制删除分支

6.7 删除远程分支

git push origin --delete <remote-branch-name>
注: 远程分支名

七、远程仓库(团队合作)

7.1 克隆远程仓库

git clone <url>

7.2本地仓库与远程库进行关联

git remote add origin <url>

7.3 查看远程仓库地址别名

git remote -v

7.4 新建远程仓库地址别名

git remote add <alias> <url>
注: 远程仓库的别名

7.5 删除本地仓库中的远程仓库别名

git remote rm <alias>

7.6 重命名远程仓库地址别名

git remote rename <old-alias> <new-alias>

7.7 远程库的修改拉取到本地

  1. git fetch <alias/url> <remote-branch-name> 抓取远程仓库的指定分支到本地,但没有合并
  2. git merge <alias-branch-name> 将抓取下来的远程的分支,跟当前所在分支进行合并
  3. git pull <alias/url> <remote-branch-name> 拉取到本地,并且与当前所在的分支进行合并

7.8 将本地的分支推送到远程仓库(先拉取在push)

  1. git push <alias/url> <branch-name> 将本地的每个分支推送到远程仓库
  2. git push <alias/url> --force 强行推送 当前分支到远程仓库,即使有冲突
  3. git push <alias/url> --all 推送所有本地分支到远程仓库

相关文章:

GIT命令操作大全

文章目录一、前言二、工作模块2.1 Workspace&#xff1a;工作区2.2 Index / Stage&#xff1a;暂存区2.3 Repository&#xff1a;本地仓库2.4Remote&#xff1a;远程仓库三、GIT基本配置四、GIT项目代码管理4.1 初始化git仓库4.2 提交到暂存区(stage)4.3 将暂存区的文件恢复到工…...

突破传统开发模式,亚马逊云科技助力中科院加速推动合成生物学

当数字技术成为整个社会运行的底座&#xff0c;生物科学也能借力云计算从诸多繁琐重复的工作中解放出来&#xff0c;专注于生物设计与创新。来看看亚马逊云科技如何与TIBCAS合作&#xff0c;推动合成生物学的发展。 明确核心需求&#xff0c;选择合作伙伴 TIBCAS选择与亚马逊…...

分享开放通达信l2接口的过程,开发之后怎么使用?

随着互联网的不断进步&#xff0c;信息技术的不断发展&#xff0c;通达信l2接口技术逐步成熟。那么&#xff0c;这些开放通达信l2接口开发的过程是怎么样的呢?期间又会遇到什么问题&#xff0c;开放之后又会怎么使用呢&#xff1f;这篇文章带你深入了解。 通达信l2接口不像一…...

33、基于51单片机老人防跌倒蜂鸣器报警系统加速度检测

背景技术 老年人出门由于身体不灵活、视力较差&#xff0c;容易发生跌倒&#xff0c;现用的老年人跌倒报警装置是通过无线对讲系统研发的&#xff0c;它外观精美&#xff0c;自动化程度高&#xff0c;有很强的专业性&#xff0c;但是&#xff0c;设计者忽略了一个问题&#xf…...

【项目】基于SpringBoot+Freemarker+Mybatis+MySQL+LayUI实现CRM智能办公系统

这里写目录标题CRM基本概念CRM分类模块功能描述项目代码application-dev.yml部分页面代码CRM基本概念 圈内存在这么一句话&#xff1a;“世上本来没有 CRM&#xff0c;大家的生意越来越难做了&#xff0c;才有了 CRM。” 在同质化竞争时代&#xff0c;顾客资产尤为重要&#x…...

手写识别字体的步骤是什么?怎么识别图片中的文字?

手写识别字体的步骤是什么&#xff1f;怎么识别图片中的文字&#xff1f; 1. 打开信风工具网&#xff0c;点击拍照按钮&#xff0c;选择拍图识字模式&#xff0c;对准需要识别的文件进行拍摄&#xff61;在线工具地址&#xff1a; https://ocr.bytedance.zj.cn/image/ImageT…...

Mysql 存储过程

什么是存储过程&#xff1f; 存储过程是事先经过编译并存储在数据库的一段sql语句的集合 如何创建一个存储过程&#xff1f; create procedure 存储过程名称([参数列表]) beginsql语句; end#例 create procedure p1() beginselect * from t_goods;select * from t_user; end如…...

【LeetCode】每日一题(3)

目录 题目&#xff1a;1234. 替换子串得到平衡字符串 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 写在最后&#xff1a; 题目&#xff1a;1234. 替换子串得到平衡…...

websocket学习

1.什么是websocket 1&#xff09;首先websocket和http一样&#xff0c;是一种网络通信协议&#xff0c;来自HTML5的特性&#xff1b; 2&#xff09;他可以使客户端和服务端进行双工通信&#xff0c;简单来说&#xff0c;就是双向通信&#xff1a;比如我们熟悉的http协议&…...

Java面试题及答案整理汇总(2023最新版)

前言 面试前还是很有必要针对性的刷一些题&#xff0c;很多朋友的实战能力很强&#xff0c;但是理论比较薄弱&#xff0c;面试前不做准备是很吃亏的。这里整理了很多面试常考的一些面试题&#xff0c;希望能帮助到你面试前的复习并且找到一个好的工作&#xff0c;也节省你在网…...

公司来了个卷王,我愿称之为王中王,让人崩溃

前几天我们公司一下子也来了几个新人&#xff0c;这些年前人是真能熬啊&#xff0c;本来我们几个老油子都是每天稍微加会班就打算走了&#xff0c;这几个新人一直不走&#xff0c;搞得我们也不好走。2023年春招就要开始了&#xff0c;最近内卷严重&#xff0c;各种跳槽裁员&…...

波奇学c语言:代码的编译和链接

test.c&#xff08;源文件&#xff09;->编译->test.obj&#xff08;目标文件&#xff09;->链接->test.exe&#xff08;可执行文件&#xff09;编译1.预编译&#xff08;预处理&#xff09;&#xff1a;text.c->text.i使用gcc -E test.c 进行停止预处理指令&am…...

计算机网络原理--传输层协议(TCP协议十大特性)

目录 1.认识TCP协议 TCP的协议段格式 2. 确认应答机制 3.超时重传 4.连接管理 <...

nvm控制node版本

安装 nvm 1、下载 nvm 官网安装包&#xff1a; github 选择 nvm-setup.exe 下载 2、安装 1、选择 nvm 安装目录&#xff08;可自定义&#xff09; 2、选择 node 安装目录&#xff08;如有安装过&#xff0c;可以选择以前安装目录&#xff0c;可 cdm 输入 where node 查看原nod…...

从0到1一步一步玩转openEuler--13 openEuler用户组管理

文章目录13.1 创建用户组13.1.1 groupadd命令13.1.2 用户组信息文件13.1.3 创建用户组实例13.2 修改用户组13.2.1 修改GID13.2.2 修改用户组名13.3 删除用户组13.4 将用户加入用户组或从用户组中移除13.5 切换用户组在Linux中&#xff0c;每个普通用户都有一个账户&#xff0c;…...

知不知道什么叫米筐量化?怎么来的?

现在量化市场范围越来越大&#xff0c;各种量化系统也是普遍性的了&#xff0c;不过米匡量化这个开发系统通常是由交易接口的专业开发团队开发的的结果&#xff0c;那么米匡量化的终端又是是怎么开发成功的呢&#xff1f;首先&#xff0c;我们可以从api接口的调用来了解&#x…...

Urho3D 事件Events

在脚本中&#xff0c;子系统通过以下全局财产可用&#xff1a;时间、文件系统、日志、缓存、网络、输入、ui、音频、引擎、图形、渲染器、脚本、控制台、debugHud、数据库。请注意&#xff0c;由于WorkQueue和Profiler的低级性质&#xff0c;它们不可用于脚本。 事件本身不需要…...

Rust学习入门--【8】复合类型

复合类型&#xff08;compound type&#xff09; 可以将多个不同类型的值组合为一个类型。 Rust中提供了两种内置的复合数据类型&#xff1a;元组&#xff08;tuple&#xff09;和数组&#xff08;array&#xff09;。 元组类型 元组是一个具有 固定长度 的数据集合 —— 无…...

【整理六】

1、props和state相同点和不同点&#xff1f;render方法在哪些情况下会执行&#xff1f; props是一个从外部传进组件的参数&#xff0c;由于React具有单向数据流的特性&#xff0c;所以他的主要作用是从父组件向子组件中传递数据&#xff0c;它是不可改变的&#xff0c;如果想要…...

Ubuntu20.04安装MySQL5.7与远程连接

一、安装MySQL5.7 1.更换镜像源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.old #备份原来的文件 sudo vim /etc/apt/sources.list #修改sources.list文件配置文件内容如下所示&#xff1a; # 清华镜像源 deb https://mirrors.tuna.tsinghua.edu.cn/ubu…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...