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

あなたはC'はなくB上のB'の上に座るように変更され

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

になってしまいます。

+0

しかし、これはさらにコミットを修正します。そして、コミットを1回だけ変更したい。 たとえば、誰かがテキストやファイルを追加して忘れてしまったとします。しかし、このコンテンツはそれ以上のコミットにはなりません。私はそれが奇妙であることを知っている。 – piecia

+0

@pieciaはい。 Gitでは、コミットは常に以前のすべてのコミットに依存します。これは設計によるものです。 –

+0

@Grek、ok and thx – piecia

関連する問題