2017-02-22 157 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