当前位置: 首页 > 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…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

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

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

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...