美文网首页
git修改某个commit中的错误

git修改某个commit中的错误

作者: 柳正来 | 来源:发表于2018-05-29 16:22 被阅读12次

我一时疏忽将一些敏感的配置信息commit进git了, 过了几个commit才发现这个问题. 现在我想吃"后悔药", 将这些敏感信息从git历史中抹除, 应该如何操作?

我现在sourcetree里面定位了一下我有问题的commit的hash为bbc643cd. 使用下面命令进行rebase

$ git rebase --interactive 'bbc643cd^'

注意: 此命令我在CMD里面运行的时候会有问题, 在git bash中没问题.

git bash会在vim编辑器中显示一些rebase的信息, 我将bbc643cd对应的那一行的pick改成edit后保存 (:wq).

然后在本地文件上删除掉那些敏感信息, 运行如下命令提交修改:

$ git commit --all --amend --no-edit

其中--all表示是所有文件, --amend表示修改commit, --no-edit表示不修改commit message, 沿用原来的.

最后

$ git rebase --continue

完成rebase.

注意: 这样修改会修改该commit及其所有后续commit的SHA-1. 也就是说, 你重写了本地的历史, 而此时remote上还是修改之前的. 如果想push, 可以用git push --force.

secret信息应该放到哪里?

参考我的这篇文章"[node] 确保app secret信息安全"来保存secret信息.

参考

How to modify a specified commit in git?

相关文章

  • git修改某个commit中的错误

    我一时疏忽将一些敏感的配置信息commit进git了, 过了几个commit才发现这个问题. 现在我想吃"后悔药"...

  • 【git】日常操作

    回滚代码到某个commit 先git log,查看commit ID 回退命令: GIT或Gitlab修改密码之后...

  • git 修改最后一次commit

    在使用git协同工作时,偶然也会遇到commit错误的时候,针对最后一次commit错误的情况,应该如果修改处理呢...

  • git常用命令

    1.撤销本地修改 修改了本地某个或某些文件,没有git add 也没有git commit,可以用这个命令撤销,尤...

  • 常用git命令

    初始化 git initgit clone 修改 git add .git commit -mgit commit...

  • Git 提交规范

    前言在提交commit信息时,为了统一规范commit信息,可以在Git Hooks中编写修改commit-msg...

  • git命令集合

    git status 状态查看,文件增删改等状态 git add . 增加修改到提交序列中 git commit ...

  • git commit后,如何撤销commit

    修改了本地的代码,然后使用: git add filegit commit -m '修改原因' 执行commit后...

  • Git 提交代码流程

    git提交代码流程 git pull———>修改代码———>git commit————>git pull——...

  • git 回滚到某一版本

    1: git log查看历史commit 2: git reset --hard [commit-id]回滚到某个...

网友评论

      本文标题:git修改某个commit中的错误

      本文链接:https://www.haomeiwen.com/subject/lijajftx.html