[解決済み] git のコミットを削除しても、変更は維持できますか?
質問
開発ブランチの1つで、コードベースにいくつかの変更を加えました。現在取り組んでいる機能を完成させる前に、いくつかの機能のデモを行うために現在のブランチを master に切り替える必要がありました。しかし、単に "git checkout master" を実行しただけでは、開発ブランチで行った変更がそのまま残ってしまい、master の機能の一部が壊れてしまいました。そこで、開発用ブランチの変更をコミットメッセージ "temporary commit" でコミットし、デモ用に master をチェックアウトすることにしました。
デモが終わり、開発ブランチに戻ったので、自分が行った変更を保持したまま、"temporary commit"を削除したいのですが、どうすればいいですか?それは可能でしょうか?
解決方法を教えてください。
こんな簡単なことです。
git reset HEAD^
注意:一部のシェルでは
^
を特殊文字として扱います(例えば、一部のWindowsシェルや
グロビングを有効にしたZSH
を引用する必要がある場合があります。
"HEAD^"
を使用するか
HEAD~1
のような場合です。
git reset
がないと
--hard
または
--soft
を移動させます。
HEAD
を指定すると、ファイルを変更することなく指定したコミットを指すようになります。
HEAD^
は、現在のコミットの (最初の) 親コミットを指します。この場合は、一時的なコミットの前のコミットです。
他の方法として、通常通り実行し、次のコミットポイントで代わりに実行することも可能であることに注意してください。
git commit --amend [-m … etc]
となり、代わりに 編集 は最新のコミットであり、上記と同じ効果があります。
この場合、(ほぼすべての git の答えと同様に) 他の誰かがそのコミットをプルした可能性のある場所に、すでにその悪いコミットをプッシュしていると問題が発生する可能性があることに注意しましょう。これを避けるために
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] git rebase の取り消し
-
[解決済み] 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マージで「すでに最新」と報告されるが、違いはある
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[解決済み】Githubの認証に失敗した - ... GitHubはシェルアクセスを提供しない
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み] git reset --hard HEAD' を使って以前のコミットに戻すにはどうしたらいいですか?重複] [重複] [重複