祝你好运的技术博客

Published on

命令行用git的rebase

Authors
  • avatar
    Name
    祝你好运
    Twitter

原因

我新建了一个仓库学习RAG,由于前期不规范,我把我的OpenAI API Key放到.env里面之后,提交到git里面了,然后当我推送到GitHub的时候,远程仓库拒绝了我的推送: github reject secrets

做法

然后这里我就有几个不同的做法选项:

  • 直接强推。这样我的api就暴露了,然后别人可能刷我的资源,虽然我这是体验包,但这不是一个好习惯。
  • 重搞一个分支。把相关文件都搞进去,重新生成提交历史,然后分支重命名成main,然后再推送。
  • git rebase。直接修改历史记录(注意我的分支还没有推送到任何远程,所以可以做rebase),改好后再推上去。

由于我之前没怎么用过rebase(用的比较少),所以这里我就体验一把rebase,参考的是这篇文档:Working with push protection from the command line

最开始我是尝试的SourceTree,发现不好用(或者我的使用方法不对,也没看文档,纯摸索的),然后我就切到了命令行里面照着文档来操作,从坏掉的commit开始rebase,然后一点一点解决冲突,直到完成整个rebase。其实核心步骤就是:

  • git rebase -i <COMMIT-ID>~1开始rebase,这里的COMMIT-ID就是我们出问题最早的的提交
  • 处理冲突。就是把冲突的文件修改一下,添加(git add)或者删除(git rm)。
  • git rebase --continue继续
  • 重复2,3步,一直到结束
git rebase example

总结

多尝试下多熟悉下自己没怎么玩过的东西,会有不一样的体验