问答

git 修改某个commit 内容

作者:admin 2021-05-15 我要评论

某个commit 中的修改代码遗漏, 如何修改指定commit,如图 想 修改refactor: api/dmEditor/source/character/static2d 提交内容,不产生新的commit. 好像使用git re...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

某个commit 中的修改代码遗漏, 如何修改指定commit,如图
image.png

想 修改refactor: api/dmEditor/source/character/static2d
提交内容,不产生新的commit.
好像使用git rebase 后无法执行提交,好像并未找到BCompare

$ git rebase -i bd9a0d8c67ebc9be512bb175ee8713b9179e2216
hint: Waiting for your editor to close the file... error: cannot spawn BCompare: No such file or directory
error: unable to start editor 'BCompare'
git commit --amend
hint: Waiting for your editor to close the file... error: cannot spawn BCompare: No such file or directory
error: unable to start editor 'BCompare'
Please supply the message using either -m or -F option.
###

这种情况,如果还没有推送到远端的话,回退重新提交可以,检出到你要修改的前一个点检出新分支,然后遴选过来你要修改的点不 commit, 然后把你要追加修改的内容加进去,然后 commit, 再把后面的其他点全部遴选过来. 这种情况下你是用 rebase 是要干嘛啊?不太懂?

如果已经推到远端了,本地操作完成之后,需要远端给你覆写这个分支的权限,让你把你本地的变更强推上去.

###

这里报 「BCompare 错误」 是因为 git 指定的编辑器是 「BCompare」 而你没有这个编辑器。
解决方法是指定编辑器:

$ git config --global core.editor vim

我这里是指定为 vim, 你可以指定成自己熟悉的编辑器。再来进行 rebase。
需要注意的 rebase 会将你修改那一条 commit 的之后的 commit 全部重新提交一边。所以如果已经将代码推送到远端,我的建议的不修改 commit 。
另外,如果搞坏了,可以使用 git reflog 来退回之前的代码。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 请问下prometheus怎么进行自定义的按业

    请问下prometheus怎么进行自定义的按业

  • 节流函数为什么,点击无效,监听窗口大

    节流函数为什么,点击无效,监听窗口大

  • express访问静态资源失败

    express访问静态资源失败

  • IE 浏览器下 match 方法报错

    IE 浏览器下 match 方法报错

腾讯云代理商
海外云服务器