1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Git コミット名を書き換える

Posted at

はじめに

railsでアプリを作成中にgitでプッシュした後に、コミット名を変更したい場合にどうしたらいいのか、学習した内容を記事にしました。

修正するための流れは

  • git commit --amend
  • エディタ内でコミット名を編集
  • git push -f origin リポジトリ名

の流れになります。

直前のコミットを書き換える

git commit --amend
このコマンドを使用することで、前回のコミットにファイルの追加を行ったり、コミットコメントの変更を行ったりできます。

×××××@×××××MacBook-Pro ××××× % git log
commit ×××××××××××××××××××××××××××××× (HEAD -> main, origin/main)
Author: ××××× <××××××××××××××××××××>
Date:   Mon May 3 14:43:02 2021 +0900

    first commit
# ここのコミット名を編集したい

まず、

×××××@×××××MacBook-Pro ××××× % git commit --amend 

のコマンドを実行すると、エディタが表示されるので、insertモードにして、コミット名を編集します。
編集が完了したら、

「ESCボタン」 からの、、、
:wq  # 編集したエディタを保存するコマンド

これで、コミット名がローカル上に反映されるので、次は、リモートリポジトリに編集内容を反映させます。

強制的にリモートリポジトリを書き換える

これまでの過程で、ローカルリポジトリのコミット名の書き換えは完了しましたが、リモートリポジトリには反映されていません。
しかし、いつものように
git push origin main(master)
などと入力した場合はエラーが発生します。
これはリモートリポジトリととローカルリポジトリに不整合が生じているからです。
これを解決するために強制的にローカルブランチをリモートブランチに上書きできるコマンドを実行します。

git push -f origin リポジトリ名

これで、pushしたコミット名を編集することができます。
このコマンドは強制的にブランチを上書きするコマンドなので、使用する際は注意が必要です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?