[解決済み] 前のコミットではないコミットを修正する [重複]。
2022-04-26 02:07:17
質問
よくあるのは、以下のようなワークフローです。
- ファイルグループへの変更をコミットする
- 別のファイルグループへの変更のコミット
- 最初のコミットに含まれるはずの変更を見逃したことに気づく
- 呪い
を活用することができません。
git commit --amend
なぜなら、それは私が変更する必要のある最新のコミットではないからです。最初のコミットに変更を加えるには、どのような方法があるでしょうか?
2番目のものを触ることなく?
解決方法は?
を使用することができます。
git rebase
を使えば解決します。実行
git rebase -i sha1~1
ここで、sha1 は変更したいコミットメントのハッシュ値です。変更したいコミットを見つけ、rebase エディタのコメントにあるように "pick" を "edit" に置き換えてください。そこから先に進むと、そのコミットを編集することができます。
これは、そのコミットだけでなく、すべての子コミットの sha1 を変更することに注意してください -- 言い換えれば、これはその時点からの履歴を書き換えることになります。これを行うとリポジトリが壊れる可能性がありますが、プッシュしていないのであれば、それほど大きな問題ではありません。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] 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がローカルバージョンをリモートバージョンに置き換える
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み] git ls-remote と git ls-remote origin の違い。
-
[解決済み】指定したコミットを変更するには?