git常用命令以及常见错误处理

news2025/8/12 6:51:42

git常用命令以及常见错误处理

文章目录

  • git常用命令以及常见错误处理
    • git常用命令
      • 初始化
      • 克隆远程仓库或者与远程仓库建立链接
      • 查看本地仓库的状态
      • 查看仓库有哪些分支
      • 切换或新建分支
      • 添加
      • 提交
      • 推送
      • 合并分支
      • 回退
        • 1. git add 回退
        • 2. git commit 回退
        • 3. Git review回退
        • 4. Git rebase回退
        • 5. Git cherry-pick回退
    • git常见错误处理
      • error: File: XXX XXX MB, exceeds 100.00 MB.
      • ! [rejected] master -> master (non-fast-forward)

git常用命令

初始化

git init ,会在本地目录下生成一个.git文件夹,表明此项目已被git管理。

克隆远程仓库或者与远程仓库建立链接

git clone :克隆远程仓库或者与远程仓库建立链接

git clone 远程仓库地址

查看本地仓库的状态

git status : 查看本地仓库的状态

查看仓库有哪些分支

git branch : 查看仓库有哪些分支

切换或新建分支

git checkout : 切换或新建分支

#创建dev分支并切换到该分支下
git checkout -b dev
#切换到master分支
git checkout master

新建分支后要想远程仓库也生成该分支,
可立即用如下命令关联远程分支,关联后远程仓库就会生成这个分支。

git push --set-upstream origin dev

添加

git add : 添加改动

#添加指定改动文件
git add 文件名
#添加所有改动文件
git add .

提交

git commit : 将add的文件提交到本地仓库

git commit -m "注释"
#如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend -m "新注释"

推送

git push : 将本地仓库推送到远程仓库

git push origin 分支名

合并分支

以将dev分支合并到marter分支为例:

  1. 首先切换到master分支上
git checkout master
  1. 确保master代码是最新的代码
git pull origin master
  1. 然后我们把dev分支的代码合并到master上
git merge dev
  1. 然后查看状态及执行提交命令
git status

//显示你有1个commit,需要push到远程master上

$ git status
On branch master
Your branch is ahead of ‘origin/master’ by 1 commits.
(use “git push” to publish your local commits)
nothing to commit, working tree clean
  1. 提交到master
git push origin master

回退

我们在使用git命令的时候,有时候误输入命令,导致需要回退到之前的状态。现在针对这种情况做一个汇总:

1. git add 回退

git status 先看一下add中的文件,确定已经添加的文件。
git reset HEAD 如果后面什么都不跟的话,就是add已添加的全部撤销。
git reset HEAD xxx.cpp 只撤销所列出的文件。

2. git commit 回退

git reset HEAD~1

注意:仅仅是撤回commit操作和撤回git add . 操作,您写的代码仍然保留

HEAD~1 表示的是最顶上的一个版本,或者也可以写成 HEAD^  
如果你进行了2次commit,想都撤回,可以使用 HEAD~2 或者 HEAD^~1
# --mixed 默认参数,不删除工作空间改动代码,撤销commit并且撤销git add . 
git reset --mixed HEAD^ 
或者 
git reset HEAD^ 

# --soft  不删除工作空间改动代码,撤销commit,不撤销git add .
git reset --soft HEAD^ 

# --hard 删除工作空间改动代码,撤销commit,撤销git add .
git reset --hard HEAD^ 

3. Git review回退

git checkout [分支名] 切换到需要回退的分支
git log 查看提交记录
git reset --hard 代码回退
git reset --hard [commit id] 复制最近提交的上一条提交记录的commit id
git review 重新提交修改

4. Git rebase回退

git reflog 先查看本地提交操作编号。
找到提交前的项目编号,执行:git reset --hard 项目编号

5. Git cherry-pick回退

git cherry-pick --abort.

git常见错误处理

error: File: XXX XXX MB, exceeds 100.00 MB.

  1. 提交的文件中有超过100MB导致出错
remote: Powered by GITEE.COM [GNK-6.4]
remote: error: File: 51237645d622455060faa0fbcd1b6074f192d673 116.58 MB, exceeds 100.00 MB.
remote: Use command below to see the filename:
remote: git rev-list --objects --all | grep 51237645d622455060faa0fbcd1b6074f192d673
remote: Please remove the file from history and try again. (https://gitee.com/help/articles/4232)
  1. 解决办法

按照提示找到那个超大的文件

git rev-list --objects --all | grep 51237645d622455060faa0fbcd1b6074f192d673
  1. 执行命令忽略掉超大的文件
git rm --cached 文件名
#如果是文件夹
git rm -r --cached 文件夹名
  1. 将要忽略的文件名添加到.gitignore中

  2. 然后执行add 和 commit

git add .
#这里的命令是用原来的信息再重新提交一次
git commit --amend -CHEAD
  1. 在commit的提交历史里面去除这个超大文件
git filter-branch --tree-filter 'rm -f 文件名' HEAD

全部操作如下:
在这里插入图片描述
7. 最后再执行push

git push origin master

这时候会出现如下错误,解决办法见下一条:
在这里插入图片描述

! [rejected] master -> master (non-fast-forward)

  1. 出现 master -> master (non-fast-forward)这个错误,表明:你的本地仓库是新的代码,而你的远程仓库还是之前版本的代码
To gitee.com:liang_baikai/test.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'gitee.com:liang_baikai/test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  1. 强制覆盖
    ** 进行此操作时一定要检查清楚再操作 **
git push --force 仓库地址
#或者
git push --force origin master
#或者
git push origin master -f
  1. pull
git pull

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

极光笔记 | 用 WhatsApp 进行海外用户运营的 N 个理由

在出海热潮下,各大企业纷纷将国内业务拓展到海外。而在各大企业出海时不可避免地会面临与国内完全不同的数据合规、网络环境、软件生态等问题。在这种情况下,企业如何针对海外用户实现本土化、精细化和稳定高效的消息触达,如何和用户保持紧密…

Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题

Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题1、起因及原因2、解决2.1 找到要压缩的虚拟磁盘文件2.2 关闭 Docker Desktop2.3 压缩虚拟磁盘文件3、偏招1、起因及原因 很多同学拉取镜像使用一段时间后发现 C 盘快满了,把之前用过的镜像和容器删除&#…

141.如何个性化推荐系统设计-1

141.1 什么是个性化推荐系统? 个性化推荐系统就是根据用户的历史,社交关系,兴趣点,上下文环境等信息去判断用户当前需要或潜在感兴趣的内容的一类应用。大数据时代,我们的生活的方方面面都出现了信息过载的问题&#…

【分类-SVM】基于哈里斯鹰算法优化支持向量机SVM实现分类附matlab的代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Html 小功能总结

文章目录一、htmlcssjs 填写表单实现下一步上一步操作二、JavaScript 中 style.display 属性三、html 静态页面传值的几种方法四、javascript 中的打印方法有几种五、获取th:each 索引值并拼接字符串一、htmlcssjs 填写表单实现下一步上一步操作 来源:https://blog…

【LeetCode】摆动排序 [M](数组)

280. 摆动排序 - 力扣&#xff08;LeetCode&#xff09; 一、题目 给你一个的整数数组 nums, 将该数组重新排序后使 nums[0] < nums[1] > nums[2] < nums[3]... 输入数组总是有一个有效的答案。 示例 1&#xff1a; 输入&#xff1a;nums [3,5,2,1,6,4] 输出&…

基于SpringBoot的篮球竞赛预约平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;…

新知实验室 腾讯云实时音视频 RTC WEB端初识

这里写目录标题前言初识产品产品介绍基础功能高级功能扩展功能快速上手位置创建源码下载源码文档写入密钥使用调试区域前言 当前时代是信息行业飞速发展的时代&#xff0c;万物都在朝物联网方向转化。而人作为一个意识体&#xff0c;也正在通过互联网&#xff0c;认识一个全新…

01-10-Hadoop-HA-概述

01-Hadoop-HA-概述&#xff1a; HA 1&#xff09;所谓HA&#xff08;High Available&#xff09;&#xff0c;即高可用&#xff08;7*24小时不中断服务&#xff09;。 2&#xff09;实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制&#xff1a;H…

【学习笔记14】JavaScript的循坏语句

一、while循坏 1、解释说明 while (循环结束条件) { 循环体}// 1. 初始化var num 1; // 2. 循环结束条件 num < 5while (num < 5) { // 3. 循环体console.log(1);// 4. 改变自身, 不写还能执行, 但是是死循环, 电脑死机速度num }2、课堂案例 2.1 计算1到100的…

【学习笔记15】JavaScript的函数

一、函数 笔记首发 &#xff08;一&#xff09;什么是函数 &#x1f644; 前端的函数, 与数学的函数, 完全是两个概念&#x1f644; 可以粗暴的理解为 一个盒子&#x1f644; 当一段需要多次使用的复杂代码段, 我们可以把它放在(抽离)一个盒子中(就是函数)&#x1f644;在需要…

【math】利用Cardano方法对一元三次方程求解及python实现

文章目录【参考】【问题描述】求解一元三次方程【代码实现】现成的包 cardano_method根据公式编写求解代码【总结】【参考】 用Cardano方法求解三次方程介绍cardano方法求解下载cardano方法包x^310求解问题、三次方程反函数问题Micorsoft-Math-solver 微软数学工具WolframAlph…

《Transformers自然语言处理系列教程》第1章:Transformers 介绍

2017年,谷歌的研究人员发表了一篇论文,提出了一种用于序列建模的新型神经网络架构。这种架构被称为Transformer,在机器翻译质量和训练成本方面都优于递归神经网络(RNNs)。 与此同时,一种名为ULMFiT的有效迁移学习方法表明,在一个非常大和多样化的语料库上,训练长短期记…

Kotlin拿Android本地视频缩略图

本文主要讨论如下三个问题&#xff1a; 如何拿到本地视频&#xff1f;怎么拿视频缩略图&#xff1f;缩略图如何压缩&#xff1f; 1 如何拿到本地视频&#xff1f; 1.1 定义数据结构 先定义媒体信息数据结构MediaInfo&#xff0c;以及视频信息数据结构VideoInfo。 open class…

我参加NVIDIA Sky Hackathon 训练文件的路径设置

各变量的作用 KEY 对应的是 NVIDIA ngc 的那个网站上面生成的那个 keyGPU 的索引&#xff0c; 这个一般不需要修改&#xff0c; 因为大家只有一块 GPU用户实验目录&#xff0c; 这个文件夹用于存放后续过程产生的一系列的文件数据下载目录&#xff0c; 存放数据 本地工程目录&a…

Java并发编程实战读书笔记二

第五章 基础构建模块 5.1 同步容器类 5.1.1 同步容器类的问题 如下&#xff0c;如果list含有10个元素&#xff0c;线程A调用getLast的同时线程B调用deleteLast&#xff0c;那么getLast可能会报ArrayIndexOutOfBoundsException 改为如下方式能确保size和get一致 Vector迭代也…

【795. 区间子数组个数】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个整数数组 nums 和两个整数&#xff1a;left 及 right 。找出 nums 中连续、非空且其中最大元素在范围 [left, right] 内的子数组&#xff0c;并返回满足条件的子数组的个数。 生成的测试用例…

微信小程序| 用小程序复刻微信Wechat

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

新的趋势:From Big to Small and Wide data

新的趋势&#xff1a;From Big to Small and Wide data 所以&#xff0c;在这个时候&#xff0c;作为率先提出要做 MySQL 开源 HTAP 数据库的 StoneDB&#xff0c;想要稍微冷静一下。 不是说我们不做 HTAP 了&#xff0c;而是有了一个新的思路。这个思路&#xff0c;也同样来…

【模型训练】YOLOv7车辆三类别检测

YOLOv7车辆三类别检测 1、车辆三类别检测模型训练2、模型评估3、模型和数据集下载网盘链接1、本项目采用YOLOv7算法实现对车辆三类别检测,在几千多张车辆三类别数据集中训练得到,我们训练了YOLOv7、,所有指标都是在同一个验证集上得到; 2、目标类别数:3;类别名:car、bus…