私のコミットツリーを見て、私は相対的な古いを見たはが間違った説明でコミットしました。 私はそれを変更したいと思います。それは可能ですか?どうすればいい?既存のプッシュされたコミットを変更するには?
コミットは既にサーバーにプッシュされています。コミットは古いコミットであり、その後多くのコミットがプッシュされます。私はメッセージではなく、内容を変更したいと思います。
私のコミットツリーを見て、私は相対的な古いを見たはが間違った説明でコミットしました。 私はそれを変更したいと思います。それは可能ですか?どうすればいい?既存のプッシュされたコミットを変更するには?
コミットは既にサーバーにプッシュされています。コミットは古いコミットであり、その後多くのコミットがプッシュされます。私はメッセージではなく、内容を変更したいと思います。
とにかく、そのコミットからツリー全体を書き換える必要があります。force push
(推奨しません)を実行する必要があります。 reword
リストから
git rebase -i HEAD~n # Displays a list of the last n commits on the current branch
何かのように、
pick e499d89 Delete CNAME
pick 0c39034 Better README
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
変更pick
保存
pick e499d89 Delete CNAME
reword 0c39034 Better README #line to change the message
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
様およびコミットリストファイルを閉じます。結果として得られる各コミットファイルで、 新しいコミットメッセージを入力し、ファイルを保存して閉じます。
その後
git push --force
このhelps.for詳細https://help.github.com/articles/changing-a-commit-message/
が可能ということであると思いますか?
はい、itzmeontvの答えは
私はそれをどのように行うことができ、このカバー?
Do not。コミットメッセージはコミットの一部であり、SHA1ハッシュに影響します(親コミットのような他のメタデータとともに)。したがって、メッセージを変更
は、後続のすべてがちょうど彼らの親を変更するをコミットを(ツリー上の同じ効果を持つ)新しいコミットを作成し、ひいてはも書き換えます。
つまり、元のコミットの新しいバージョンから始まる並列の複製タイムラインを作成します。元のタイムラインに対して働いている人は誰もが不満です。
あなたの履歴の書き換えをすべての人に納得させても、ガベージコレクションまで古いコミットが残っていて、永遠に生きたい場合はタグ付けすることができます。 – Useless
http://stackoverflow.com/a/179147 – mm759
[既存の未処理のコミットを修正する方法は?](http://stackoverflow.com/questions/179123/how-to-modify-existing-unpushed -commits) – Vampire
私はこれを試しましたが、古いコミットでは動作しません。または、私はちょうどそれを古いものに適用する方法を理解していないかもしれません。@ mm759 –