合并 gitee 多个 commit,消除 stat/needs-squash 标签
首先这个问题是怎么来的呢?
由于我本人是计算机菜鸟,在提交 PR 的时候没有使用 git 命令,而选择了简单的 web 可视化界面,如图 1,导致我的 commit 多达五十几条,如图 2。但是由于 PR 合入 master 后,多个 commit id 会存在 master 主干上,导致很多麻烦,因此要把图 2 圈圈里的数字调整成 1。
图 1 gitee 上的 web 提交方式
图 2 commit 记录
那么怎么解决这个问题呢?
首先要先了解一下 git 基础。
一、连接gitee 建立本地git仓库和远程仓库的连接
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱" //邮箱在设置-多邮箱管理-我的邮箱
二、生成SSH key公钥
ssh-keygen -t rsa -C "你注册的邮箱" // 一路回车
三、生成成功后你可以在 C 盘/用户/你的用户名 /.ssh 目录下面找到 id_rsa.pub 文件,复制文件里面的内容,到 gitee 网站中,进入设置 -> 安全设置 -> SSH 公钥,在公钥输入框中粘贴你复制的内容,标题自动填充,点击确定。
四、 把在 gitee 上 fork 下来的仓库 clone 下来
git clone https://gitee.com/your_git_id/models.git
五、使用 git log 命令查看操作记录,可以看到 commit id 。
六、由于我这里的 commit 太多了,我直接从 gitee 上复制了第一次提交的 commit id然后用 git reset 命令回退到第一次 commit,在此之前一定要保存好要提交的代码。命令详解参见git reset 命令 | 菜鸟教程 (runoob.com)
git reset --hard commit id
七、在本地仓库对代码进行修改,例如新建文件夹,新建文件等等(我这一步是直接将提前保存好的代码文件夹粘贴到本地仓库了)。然后用 git add . 命令(后面还有个点哦)添加当前目录下的所有文件到暂存区,详见git add 命令 | 菜鸟教程 (runoob.com),再用 git commit -m “对本次提交的描述” 命令将暂存区内容添加到本地仓库中,详见git commit 命令 | 菜鸟教程 (runoob.com)。
git add .
git commit -m "描述"
八、用 git push 命令将本地仓库上传到远程仓库。详见git push 命令 | 菜鸟教程 (runoob.com)
九、此时 git log 一下会发现有两条 commit 记录,然后就是 git rebase -i 命令了,详见【Git】rebase 用法小结 - 简书 (jianshu.com)
十、再次 push
这里出现了fatal: unable to access 'https://gitee.com/mm-xin/models.git/': OpenSSL SSL_connect: Connection was reset in connection to gitee.com:443,执行下面两条命令之后再次push。
git config --global --unset http.proxy
git config --global --unset https.proxy
最终结果提交记录成功变成 1 了:
ps:本人小小菜鸟希望能得到各路大神的指导。
合并 gitee 多个 commit,消除 stat/needs-squash 标签相关推荐
- git如何合并中间几个commit点为一个commit点
git中合并中间几个commit点为一个 使用场景描述 之前讲述过,把git最后几个commit点合并成一个.有小伙伴提出如果不是最后的几个commit合并,而是中间连续的几个,是不是也可以用相同办法 ...
- 合并数字 — m个数字消除相邻的差的绝对值为1的两个数中较大的那一个,直到没有两个相邻的差的绝对值为 1 的数(动态数组定义)
题目:合并数字 消除相邻的差的绝对值为1的两个数中较大的那一个.这一天,她得到了 m 个数字,她只能选出最左边的相邻的差的绝对值为 1 的两个数,保留较小的数,泯灭较大的数,直到没有两个相邻的差的绝对 ...
- commit分拆多个 git_git如何合并只有两个commit到一个?
用rebase -i 比如下图的commit 历史,想要把 "Second change" 和 "Third change" 这两个commit合并到一起 那么 ...
- git合并多个远程commit并提交
查了很多博客,最后看了 https://segmentfault.com/a/1190000007748862 成功地把本地的提交合并了.不过因为我这些commit已经push到远程上了,所以和文章里 ...
- 视频剪辑软件,AI智能合并生成新视频并消除原声保存到本地电脑
最近有很多朋友在问,如何批量剪辑视频,比如通过AI智能合并的形式生成多个新视频,并消除原声保存到电脑上呢?下面随小编一起来看看. 需要哪些工具? 视频素材若干 怎么快速合并? 运行[媒体梦工厂]第一步 ...
- git报错Successfully created project ‘*****’ on Gitee, but initial commit failed解决
是git没有配置的原因,找到git安装目录下的Git Bash运行后输入下面两行代码即可: git config --global user.name "GitHub账号" git ...
- git merge\git merge --no-commit\git merge --squash区别
假设现有分支develop.test.需要将test合并到develop分支. 首先git checkout develop. git merge test test分支会合并到develop,会有t ...
- 45 个 Git 经典操作场景,专治不会合代码
git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便.但找工作面试和一些需彰显个人实力的场景, ...
- Git让你从入门到精通,看这一篇就够了!
简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布 ...
最新文章
- 【ACM】杭电OJ 2023
- python难学嘛-python语言难学吗
- json如何把键名作为变量?
- 使用hibernate自动生成数据库表
- DIP第九章习题解答
- JZOJ 5107. 【GDSOI2017】 中学生数据结构题
- 《数据驱动安全:数据安全分析、可视化和仪表盘》一1.2.4 统计学
- 数据结构(一)线性表
- mac系统在云服务器地址,mac如何登陆云服务器地址
- 鲜花海报设计没有思路?看这里吧!
- iTOP-i.MX6Q开发板支持安卓Android6.0系统
- math库是python语言的数学模块_Python入门-函数库(模块)
- 打开com方式和dos常用命令
- python之词频统计
- python爬虫:scrapy-redis分布式爬虫(详细版)
- IOS 开发第一个HelloWorld
- mc服务器地皮系统权限指令,我的世界地皮指令大全
- springboot+成都大学校园植物网站 毕业设计-附源码181557
- 软件工程-----层次图
- 九九乘法表每天进步一点点的收获
热门文章
- 内存调试神器- ASan详解及实例分析
- 【算法练习】含重复字符的全排列
- 技术岗的职业规划_《阿里感悟》- 技术人员的职业规划
- SK海力士将以90亿美元收购英特尔的NAND闪存及存储业务
- SAP中质量订单未维护结算规则导致月结报错的分析解决案例
- java基于ssm+vue+elementUI在线影评电影评论投票系统
- 使用NLTK做电影评论分析
- 非科班学python就业_非科班出身自学Python,这些实用方法学习方法你知道吗!
- 设计模式(四)~结构型模式(2)
- CF 770 B(奇偶性), C(规律)