たくさんの自由帳
Androidのお話
たくさんの自由帳
投稿日 : | 0 日前
文字数(だいたい) : 2069
歴史改ざんです。
今回はGit Bash
を使います。
目に優しくないPowerShell
だと日本語が化けちゃった。
というわけで.git
フォルダーがあるフォルダーで右クリックして、Git Bash Here
を選び起動しましょう。
プログラムの変更なしでコミットメッセージだけを変える場合は以下を叩きます。--amend
ってのが重要?
git commit --amend -m コミットメッセージ
リモートリポジトリへプッシュをする際は以下を叩きます。
git push -f origin HEAD
動くかどうかは怪しい
まずコミット履歴を見ましょう。
git log
叩くと以下のように表示されるはずです。
(メアドは隠させてもらいました)。
このコミットの中から、今回は一番上の取り消し予定
ってコミットを消そうと思います。
それと、履歴表示を終了させてターミナルに戻る場合はキーボードのq
を押します
コミットを取り消すんですが、注意したいことが
git reset --hard
vs git reset --soft
変更点をそのままにするかどうかです。
これを踏まえて、今回は変更点はそのままコミットのみなかったことにします。
変更点はそのまま、コミットだけが取り消されてるはずです。
以下のコマンドを叩きます
すると、メモだよ
のコミットが無いことになっていますね!歴史改ざんktkr
(メアドは隠させてもらったよ)
以下のコマンドを叩きます
-f
をつけることで歴史改ざんを押し通す事ができます。
キーボードのq
を押せばターミナルへ戻れます。
つまりこれやったってことですね。
git reset --hard HEAD^
落ち着いてください!どうにかなります
以下のコマンドを叩きます
git reflog
するとgit log
よりも詳細な履歴が見れるはずです
30eac0d (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
b621189 HEAD@{1}: commit: 取り消し予定
30eac0d (HEAD -> master) HEAD@{2}: reset: moving to HEAD^
b1469aa HEAD@{3}: commit: 取り消し予定
30eac0d (HEAD -> master) HEAD@{4}: reset: moving to HEAD^
8cd8de9 HEAD@{5}: commit: 取り消すコミット
30eac0d (HEAD -> master) HEAD@{6}: reset: moving to HEAD@{1}
8780022 HEAD@{7}: commit: メモだよ
30eac0d (HEAD -> master) HEAD@{8}: commit: コミット練習
ae1c993 HEAD@{9}: commit (initial): メモ追加
戻りたいコミットを探し(今回は:b621189 HEAD@{1}: commit: 取り消し予定
)、HEAD@{1}
の部分を控えます。
そして以下のコマンドを叩きます。
git reset --hard HEAD@{1}
--hard
じゃないとダメみたいです
これで無事に戻ってこれるはずです。
Git難しいね