[解決済み] git commitの代わりに行った "git commit --amend "を元に戻すには?
2022-03-17 23:19:49
質問
間違って前のコミットを修正してしまいました。コミットは、私が特定のファイルに加えた変更の履歴を保持するために別個のものであるべきでした。
その最後のコミットを取り消す方法はありますか?もし私が以下のようなことをしたら
git reset --hard HEAD^
を実行すると、最初のコミットも元に戻されます。
(リモートディレクトリにはまだプッシュしていません)
解決方法は?
必要なのは、現在のコミットと同じ内容の新しいコミットを作成することです。
HEAD
コミットですが、親を以前のバージョンの
HEAD
.
git reset --soft
はブランチポインタを移動させ、次のコミットが現在のブランチヘッドの位置とは異なるコミットの上で行われるようにします。
# Move the current head so that it's pointing at the old commit
# Leave the index intact for redoing the commit.
# HEAD@{1} gives you "the commit that HEAD pointed at before
# it was moved to where it currently points at". Note that this is
# different from HEAD~1, which gives you "the commit that is the
# parent node of the commit that HEAD is currently pointing to."
git reset --soft HEAD@{1}
# commit the current tree using the commit details of the previous
# HEAD commit. (Note that HEAD@{1} is pointing somewhere different from the
# previous command. It's now pointing at the erroneously amended commit.)
git commit -C HEAD@{1}
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に '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-mergeの-dry-runオプションはありますか?
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
gitアップロードの共通エラー処理
-
git revert + git rebase 一度に複数のコミット_本然233的博客程式员息信网_git revert Multiple
-
git commit リモートエラー [rejected] master -> master (フェッチファースト)
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] Gitのプッシュエラーです。Unable to unlink old (Permission denied)です。
-
[解決済み] GitのHEAD^とHEAD~の違いは何ですか?