“git commit –amend” コマンド実行時にコミットログの入力を省略する方法
はじめに
CI/CD パイプラインの動作確認をしていました。
Github へのプッシュを契機にうまく動作するかを見ていました。
何度か git commit --amend
コマンドを実行しては git push origin --force-with-lease
を実行していたのですが、git commit --amend
するたびにコミットログの入力のためのエディタが起動するのが煩わしくどうにかならないかと思って調べてみました。
別ブランチを作る、別リポジトリを作るなどするべきなのかもしれません。
検証環境
$ uname -moi
x86_64 x86_64 GNU/Linux
$ head -n 2 /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
$ bash -version | head -n 1
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
$ git --version | head -n 1
git version 1.8.3.1
-C
オプションを指定する
-C
オプションを指定し、どのコミットのログを採用するかを指定してやればよいです。
最終コミットのログをそのまま採用したいので、 -C HEAD
のように指定してやります。
$ git commit --amend -C HEAD
これは便利です。
何度か繰り返し実行したかったので、以下のようにしてコマンドヒストリから呼び出しました。
$ git commit --amend -C HEAD; git push origin --force-with-lease;
コミット日時も更新したい場合には --date
オプションを指定する
今回は不要でしたが、コミット日時も更新したい場合には --date
オプションを指定すれば良いです。
$ git commit --amend -C HEAD --date=now
ひとこと
git commit --amend
は本来、リモートブランチに対して度々行うべきではないので、
できる限り git push
前のコミット履歴の改変に限定して使いましょう。
参考
以下のサイトを参考にさせていただきました!
ディスカッション
コメント一覧
まだ、コメントがありません