合并 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:本人小小菜鸟希望能得到各路大神的指导。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值