2016-10-06 225 views
0

我需要做的就是修改本地分支中一些过去提交的提交消息,然后将这些修改推送到服务器。我不需要在过去的提交中实际更改任何文件,而过去的提交并不是最新的提交,它们来自2-3次提交之前。在git中修改过去提交的提交消息

我见过的大多数答案都是修改过去提交的文件,或者只是修改最近的提交消息。这两个都不是我正在寻找的。

我希望这是一个快速简便的一个所有你的Git专家:-)

+0

其他问题的标题真的应该,因为大部分被编辑它与推式提交有关... id在这里说,但它是一个锁定的线程。 – UpAndAdam

回答

1

这通常不能在一个完全安全的方式完成,无论背景,但它可以做到的。

最简单的方法是做一个交互式重新组织(潜在地保留合并)并标记你想编辑提交信息,编辑它们然后强制推送分支。

这将改变所有提交的哈希,从您修改的第一个提交到分支的提示。如果这个分支已经被合并为主,那么这可能是一个坏主意,除非你与涉及该项目的其他人一起检查。

开始之前这项工作,我强烈建议你考虑别人是否已经消耗了你的分支的是,是否有任何合并,你必须保护等

+0

假设我已经合并为主人,并且我需要将历史更改传播给主人以及? – gzak

+0

您必须按照我所描述的方式去做,然后强行推动......但是在您强制推送之前,您需要非常清楚地与其他所有正在进行此回购的人交流您将要执行的操作,并确保他们都意识到他们需要从变革中恢复过来。 – UpAndAdam

+0

也取决于您的git回购托管的位置,您可能甚至可能不允许强行推送给主。 – UpAndAdam