[解決済み] git の最初のコミットメッセージはどのように書き直せばよいですか?
2022-06-23 04:28:14
質問
3つのコミットを含む作業ツリーを持っています。
➜ ~myproject git:(master)
git log
commit a99cce8240495de29254b5df8745e41815db5a75
Author: My Name <[email protected]>
Date: Thu Aug 16 00:59:05 2012 +0200
.gitignore edits
commit 5bccda674c7ca51e849741290530a0d48efd69e8
Author: My Name <[email protected]>
Date: Mon Aug 13 01:36:39 2012 +0200
Create .gitignore file
commit 6707a66191c84ec6fbf148f8f1c3e8ac83453ae3
Author: My Name <[email protected]>
Date: Mon Aug 13 01:13:05 2012 +0200
Initial commit (with a misleading message)
今度は
reword
のコミットメッセージは
最初のコミット
(6707a66)
➜ ~myproject git:(master)
git rebase -i 6707
(...vimに入る)
pick 5bccda6 Create .gitignore file
pick a99cce8 .gitignore edits
# Rebase 6707a66..a99cce8 onto 6707a66
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
この場合、修正したいのは、(
reword
というコミットメッセージを修正したいのです。
初期コミット(誤解を招くようなメッセージを含む)
...適切なものに
当然のことながら、上記の試みは成功しませんでした。なぜなら最初のコミットには明らかに
親
コミットを持たないからです。(そして、あなたが
rebase
の場合、次に古いコミットを参照する必要があります。
より前の
を参照する必要があります。
reword
ということですね?)
私の質問の要点は、このように、他の手段でこれを実現することができるのか、ということです。
どのように解決するのですか?
次のことを行ってください。
git rebase -i --root
(ポイント
root
を指定します)
この方法では、最初のコミットも含まれるため、単に
reword
を実行することができます。
は
--root
オプションは、Git で導入された
v1.7.12
(2012). それ以前は、唯一の選択肢は
filter-branch
または
--amend
のどちらを使用するかは、一般的に難しくなります。
注意: 以下も参照してください。 この類似の質問と回答 .
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】git rev-parseは何をするのですか?
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
git revert + git rebase 一度に複数のコミット_本然233的博客程式员息信网_git revert Multiple
-
[解決済み】gpgがデータの署名に失敗した fatal: failed to write commit object [Git 2.10.0].
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] fatal: bad revision "とはどういう意味ですか?
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み] Gitでプロジェクトの最初のコミットを変更しますか?重複
-
[解決済み] Gitのルートコミットを編集しますか?