在已签入的代码中更改提交消息和用户ID信息

时间:2014-08-03 08:07:28

标签: git

我是bitbucket项目的管理员。

我们在brach上完成了一些签到。

checkin_1, checkin_2,checkin_3,checkin_4,checkin_5

我想编辑checkin_2,checkin_3,checkin_4中的提交消息,包括签入的用户。基本上,一个人错误地提供了一些个人电子邮件地址,并且提交消息是乱码。

我希望有正确的提交消息供将来参考&更正那里使用的电子邮件地址。

我该怎么办?鉴于我是管理员,我认为它可能:)

1 个答案:

答案 0 :(得分:1)

你需要克隆你的BitBucket仓库,在本地修复它,并强制推送(因为你将更改历史记录)。
如果其他人已经克隆了回购,那么这可能是一个问题:您需要沟通他们需要重置他们自己的本地副本:请参阅“git pull after forced update”。

您可以执行交互式rebase,并按照“Change commit author at one specific commit

中的说明进行操作
  

将文本从选择更改为要修改的哈希旁边的编辑。然后,当git提示您更改提交时,请使用:

git commit --amend --author="Author Name <email@address.com>"

在您的情况下,如果change1是最早的提交,change5是最近的提交,那么

git rebase -i change1~