Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
113
Help us understand the problem. What is going on with this article?
@ykawakami

typoしてpushしてしまったコミットコメントを修正してpushしなおす方法

More than 5 years have passed since last update.

はじめに

チーム内の共有ブランチから自分の作業ブランチを切って作業していた際、
コミットコメントを打ち間違えてしまったのでコメントを修正します。
コミットの履歴の改変になるので作業は注意をしながら行います。
また、共有ブランチでは行わないようにしてください。

コミットをやり直す方法

使用するコマンド

git commit --amend

直前にしたコミットをやり直します。
前回のコミットにファイルの追加を行ったり、コミットコメントの変更を行ったりできます。

使用例

たとえば以下のようなコミットがあったとします。

commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Author: xxxx <xxxx@xxxx.com>
Date:   Wed Aug 26 12:57:24 2015 +0900

    Added text1.txt

A       sample/text1.txt

上記のコミットにtext2.txtを追加して、コミットを修正するには以下のようにします。

$ git add text2.txt
$ git commit --amend -m "Added text1.txt & text2.txt"
[sample-branch 7448937] Added text1.txt & text2.txt
 2 files changed, 2 insertions(+)
 create mode 100644 sample/text1.txt
 create mode 100644 sample/text2.txt

すると下記のようにコミットが修正されていることがわかります。

commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Author: xxxx <xxxx@xxxx.com>
Date:   Wed Aug 26 13:00:53 2015 +0900

    Added text1.txt & text2.txt

A       sample/text1.txt
A       sample/text2.txt

今回はコミット内容はそのままでコミットコメントのみ修正します。
git add でファイルの追加はせずに git commit --amend を行い、コメントの修正を行いました。

リモートリポジトリーに再pushする方法

ローカルでの編集が終わったのでリモートにpushしようとしましたが、ローカルのコミットを改変したためリモートとローカルに不整合が生じてしまいpushに失敗してしまいます。

これを解決するために強制的にローカルのブランチをリモートに上書きできるコマンドを実行します。
強制的に自分の変更をリモートに反映させるため操作を行う際は十分に注意します。
※共有のブランチでこの作業は絶対しないようにしてください。

使用するコマンド

git push -f [repository] [branch]
オプション -f を付けることで強制的にpushできます。

使用例

$ git push -f origin xxxx
Counting objects: 1, done.
Writing objects: 100% (1/1), 183 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To xxxxxxxx
 + xxxxxxx...xxxxxxx xxxx -> xxxx (forced update)

これで今回の変更をリモートにも適用することができました。

参考サイト

【派閥別】Gitのコミットを間違えたときの対処法まとめ
[git reset (--hard/--soft)]ワーキングツリー - Qiita

113
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
mashandroom
会社外活動・コミュニティとして、ハッカソンや各種イベントのボランティアなどに参加。ただただ自分たちが楽しみ、結果周りの人が喜んでくれるようなアウトプットを目指しています。創造せよ!頭にキノコが生えるまで

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
113
Help us understand the problem. What is going on with this article?