2017-02-22 121 views
2

由于某些原因,我想更改提交的内容。 我有:Git:修改历史提交的内容

A --- B --- C  master 

git co -b modify_old_commit B 
git add ... 
git ci ... 

,并在结束时,我已经有了:

A --- B --- C  master 
     \ 
     \ 
     B' modify_old_commit 

A --- B' ---- C  master 

我怎样才能 “合并” B”为B?可能吗?最后我不需要branch modify_old_commit。

回答

1

您可以通过执行达到你想要的结果:

git checkout master 
git rebase modify_old_commit 
git branch -d modify_old_commit 

您将与

A --- B' ---- C'  master 

其中C'修改坐的B',而不是在B顶部结束。

+0

但是这也会修改进一步的提交。我只想改变一个提交。例如,有人忘记附加一些文本或文件。但是这个内容不会再进行更多的提交。我知道这很奇怪。 – piecia

+0

@piecia是的。在Git中,提交总是取决于以前的所有提交。这是设计。 –

+0

@格雷克,好的和thx – piecia