GitHub不小心上传了密码或者重要文件怎么回退

欢迎到我的个人博客看这篇文章,本文原文地址:GitHub不小心上传了密码或者重要文件怎么回退

本例的操作都将在sourcetree软件上进行。如果用其他git管理软件也同理。

问题描述

有时候我们可能在向GitHub上提交代码时不小心将账号密码上传了上去
在这里插入图片描述此时我们或许会想将分支重置到提交密码之前的提交,但是这样是不可行的:
在这里插入图片描述
重置后提交一个清空密码的提交
你会发现推送不上去,因为远端比你多了一些提交,你得先拉取才行。

在这里插入图片描述
那么如果拉取了再提交呢:
在这里插入图片描述
貌似可以提交了,但是GitHub上可以看你的历史提交:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
藏了个寂寞,如果有有心之人的话,你是藏不住的。

那么有没有办法在远端直接清除掉这个提交呢,请看下部分。

问题解决

我们从不小心提交密码的那个提交之前的一个提交那里创建一个新分支:
在这里插入图片描述
此处我取名master:
在这里插入图片描述
然后我们cherry-pick(sourcetree翻译为遴选)不小心提交了密码的那个提交。
在这里插入图片描述
并取消勾选立即合并,这样做的目的是为了让我们能够删除密码:
在这里插入图片描述
然后编辑我们的文件删除不小心上传的密码:
在这里插入图片描述
暂存后提交,这样我们就能够做到保留其他更改和这个提交的描述内容的同时将密码删除:
在这里插入图片描述
然后我们将之后的提交都一一进行cherry-pick,区别是勾选立即合并,因为之后的提交就不用我们手动操作了。之所以要一个一个操作是为了保留你的提交信息。
在这里插入图片描述
在这里插入图片描述
操作完所有提交后的效果(PS:清除密码和Merge branch的两个提交是之前演示错误做法留下的,此处可以不管):
在这里插入图片描述
然后我们可以提交该分支到远端,然后我们就可以把原来的分支给删除了,我们原来分支上的所有数据都转移到了新的分支上。
在删除之前,如果你原来的分支是该库的默认分支,你还得去改一下默认分支:
在这里插入图片描述
改成我们新建的分支:
在这里插入图片描述
在这里插入图片描述
然后就可以将原来的分支删除:
在这里插入图片描述
在这里插入图片描述
然后你可以将新建的分支改为你原来分支的名字(你也可以选择不改):
在这里插入图片描述
在这里插入图片描述
然后在提交记录里就找不到我们提交密码的那个提交了:
在这里插入图片描述
随后我们需要更新一下本地的库,先进行获取,勾选删除不存在的跟踪分支:
在这里插入图片描述
然后将我们原来的main分支从本地删除:
在这里插入图片描述
记得勾选强制:
在这里插入图片描述
然后检出一下我们远程的main分支:
在这里插入图片描述
保持默认不变:
在这里插入图片描述
然后我们就可以删除我们临时创建的master分支了,此处不用勾选强制也可以删除,如果删除不掉就勾选强制:
在这里插入图片描述
然后就完成了
在这里插入图片描述
GitHub上也看不到我们之前不小心提交的密码记录,完美解决。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值