首先这个问题是怎么来的呢?

由于我本人是计算机菜鸟,在提交 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 标签相关推荐

  1. git如何合并中间几个commit点为一个commit点

    git中合并中间几个commit点为一个 使用场景描述 之前讲述过,把git最后几个commit点合并成一个.有小伙伴提出如果不是最后的几个commit合并,而是中间连续的几个,是不是也可以用相同办法 ...

  2. 合并数字 — m个数字消除相邻的差的绝对值为1的两个数中较大的那一个,直到没有两个相邻的差的绝对值为 1 的数(动态数组定义)

    题目:合并数字 消除相邻的差的绝对值为1的两个数中较大的那一个.这一天,她得到了 m 个数字,她只能选出最左边的相邻的差的绝对值为 1 的两个数,保留较小的数,泯灭较大的数,直到没有两个相邻的差的绝对 ...

  3. commit分拆多个 git_git如何合并只有两个commit到一个?

    用rebase -i 比如下图的commit 历史,想要把 "Second change" 和 "Third change" 这两个commit合并到一起 那么 ...

  4. git合并多个远程commit并提交

    查了很多博客,最后看了 https://segmentfault.com/a/1190000007748862 成功地把本地的提交合并了.不过因为我这些commit已经push到远程上了,所以和文章里 ...

  5. 视频剪辑软件,AI智能合并生成新视频并消除原声保存到本地电脑

    最近有很多朋友在问,如何批量剪辑视频,比如通过AI智能合并的形式生成多个新视频,并消除原声保存到电脑上呢?下面随小编一起来看看. 需要哪些工具? 视频素材若干 怎么快速合并? 运行[媒体梦工厂]第一步 ...

  6. git报错Successfully created project ‘*****’ on Gitee, but initial commit failed解决

    是git没有配置的原因,找到git安装目录下的Git Bash运行后输入下面两行代码即可: git config --global user.name "GitHub账号" git ...

  7. git merge\git merge --no-commit\git merge --squash区别

    假设现有分支develop.test.需要将test合并到develop分支. 首先git checkout develop. git merge test test分支会合并到develop,会有t ...

  8. 45 个 Git 经典操作场景,专治不会合代码

    git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便.但找工作面试和一些需彰显个人实力的场景, ...

  9. Git让你从入门到精通,看这一篇就够了!

    简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布 ...

最新文章

  1. 【ACM】杭电OJ 2023
  2. python难学嘛-python语言难学吗
  3. json如何把键名作为变量?
  4. 使用hibernate自动生成数据库表
  5. DIP第九章习题解答
  6. JZOJ 5107. 【GDSOI2017】 中学生数据结构题
  7. 《数据驱动安全:数据安全分析、可视化和仪表盘》一1.2.4 统计学
  8. 数据结构(一)线性表
  9. mac系统在云服务器地址,mac如何登陆云服务器地址
  10. 鲜花海报设计没有思路?看这里吧!
  11. iTOP-i.MX6Q开发板支持安卓Android6.0系统
  12. math库是python语言的数学模块_Python入门-函数库(模块)
  13. 打开com方式和dos常用命令
  14. python之词频统计
  15. python爬虫:scrapy-redis分布式爬虫(详细版)
  16. IOS 开发第一个HelloWorld
  17. mc服务器地皮系统权限指令,我的世界地皮指令大全
  18. springboot+成都大学校园植物网站 毕业设计-附源码181557
  19. 软件工程-----层次图
  20. 九九乘法表每天进步一点点的收获

热门文章

  1. 内存调试神器- ASan详解及实例分析
  2. 【算法练习】含重复字符的全排列
  3. 技术岗的职业规划_《阿里感悟》- 技术人员的职业规划
  4. SK海力士将以90亿美元收购英特尔的NAND闪存及存储业务
  5. SAP中质量订单未维护结算规则导致月结报错的分析解决案例
  6. java基于ssm+vue+elementUI在线影评电影评论投票系统
  7. 使用NLTK做电影评论分析
  8. 非科班学python就业_非科班出身自学Python,这些实用方法学习方法你知道吗!
  9. 设计模式(四)~结构型模式(2)
  10. CF 770 B(奇偶性), C(规律)