git误提交密码到开源仓库(git大佬必会技能)
git误提交密码解决方案当我们不小心提交了密码且推送到远程仓库后,这时如果只是删除密钥再提交,其他人还可以通过提交记录看到你的密码,这时有以下两个方法把多喝提交记录合并为一个,并推送到远程分支(适合对git有一定了解的,适合修改了少量文件,很在乎代码的修改是几次提交)自由的决定如何修改提交记录但可能需要解决冲突,尤其是最近几个commit提交了大量文件时会很繁琐利用 git reset --har
·
git误提交密码解决方案
当我们不小心提交了密码且推送到远程仓库后,这时如果只是删除密钥再提交,其他人还可以通过提交记录看到你的密码,这时有以下两个方法
- 把多喝提交记录合并为一个,并推送到远程分支(适合对git有一定了解的,适合修改了少量文件,很在乎代码的修改是几次提交)
- 自由的决定如何修改提交记录
- 但可能需要解决冲突,尤其是最近几个
commit
提交了大量文件时会很繁琐
- 利用
git reset --hard
强制回到提交之前的最后一个commit
, 先强制推送到远程仓库(删除提交记录),再提交最近改动(适合新手,适合修改了大量文件或不在乎提交了几次)- 新手最容易理解
- 只能将最近提交合并为一次
方案一:合并多次提交记录(需要解决冲突)
查看最近的5次提交记录,并进入 vi
状态
git rebase -i HEAD~5
根据文字提示,s
代表 squash
即多次提交合并为一次提交
按 i
进入编辑模式,将提交密码的那次 commit 前面的 pick
改为 s
(或f
,f
会将 commit msessage 也删掉)
注意不要修改远程分支的,否则后续会出现错误(出现后可自行搜索解决措施,挺容易搜的)
输入:wq
保存退出
根据提示修改冲突
如果没有冲突就继续
将提交合并
执行 git rebase --continue
强制推送到远程分支
执行 git push -f
方案二:时空穿梭机(适合新手)
备份当前最新版本的代码
直接复制到一个文件夹即可
将版本回退到提交之前
git log
查看最近提交记录
比如发现 abcabc
这一次commit是提交密码前最后一次 commit
执行
git reset --hard abcabc
推送到远程(抹去提交记录)
git push -f
提交最新代码,推送到远程(回到最新版本)
将之前备份的代码直接覆盖当前文件夹,并执行
git add
git commit -m "xxxx"
git push

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)