首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用egit,如何更改对旧提交(而不是最后一次提交)的描述?

使用egit,如何更改对旧提交(而不是最后一次提交)的描述?
EN

Stack Overflow用户
提问于 2014-05-26 11:37:48
回答 1查看 339关注 0票数 0

上下文:

我正在学习如何在Eclipse中使用git,并将其用于一个只有本地存储库的小型项目。

问题:

  • 我刚刚注意到,我之前做的一个提交附加了一个不正确的描述。
  • 我提交的文件没有什么问题,只是为了清晰起见(如果我想还原或者其他什么的话),我想改变描述,这是误导性的。
  • 我不能只是修改以前的承诺,因为我已经做了更多的提交从那时起。

试图解决问题的艰难尝试:

我尝试过创建新的分支,修改提交,然后重新建立基础,但最后却出现了一堆看起来可怕的合并冲突和一棵看上去像意大利面的历史树。我可以将更新的提交复制并粘贴到txt文件中,用错误的信息恢复到提交,然后从那里重新开始,但我认为使用git的全部目的是避免做类似的事情。

问题:

是否有一种简单的方法只需更改旧提交的描述文本?

如果不是的话,复杂的方法的步骤是什么?!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-26 11:46:03

如果您已经将修改推到了某个地方:,不要

否则:使用git rebase -i 并使用r(eword)选项标记要更改的提交。

一旦关闭弹出的文件,就会启动重基,并提示您输入新的提交消息。

假设您有以下提交历史记录(最新的第一次提交):

代码语言:javascript
复制
f6f6f6f last commit
d4d4d4d ...
c3c3c3c third commit
b2b2b2b second commit
a1a1a1a first commit

如果要更改b2b2b2bc3c3c3c的消息,请执行以下操作

代码语言:javascript
复制
git rebase -i a1a1a1a

接下来,您最喜欢的编辑器将弹出并显示以下对话框:

代码语言:javascript
复制
pick f6f6f6f last commit
pick ...
pick c3c3c3c third commit
pick b2b2b2b second commit

# Rebase b2b2b2b..f6f6f6f onto a1a1a1a
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

pick更改为rreword以便提交b2b2b2bc3c3c3c,保存文件并退出编辑器。

下一步,重新基地将开始。

对于选择为reword的提交,可以输入新的提交消息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23869225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档