Upgrade to Pro — share decks privately, control downloads, hide ads and more …

11/15川良gitなかったことにしたい時

Avatar for kawara kawara
November 15, 2023

 11/15川良gitなかったことにしたい時

11/15(水)プログラミング楽しめないグループLT会の資料です。

Avatar for kawara

kawara

November 15, 2023

Other Decks in Programming

Transcript

  1. 僕がお伝えしたいことは画面左側に表示されている7つの手順の組み合わせについてです。 これのなにがいいかというとあれこれ触ってわけがわからなくなってしまったプロジェクトの状態をブランチを切った状態に戻してくれるというところです。 まずターミナルでプロジェクトのトップのディレクトリ。なので(Projects/start_docker の下のディレクトリ)に移動して git reflogと入力して下さい。すると右画面のような情報が表示されます。ここで何をするかというとHEADの後に書いてある数字を確認してください。ちょっと見づらいですが右側画面 の上の方で選択状態になっているものがそれです。 この数字が今の状態からいくつ状態を戻すかを指定する数字となります。最後にブランチを切った時点に戻すならHEAD{0}が対象となります。 戻したいHEADの数字の確認ができましたらキーボードのqキーを押してターミナル画面に戻してください。 次にvscoadなどで開いたままになっているファイルを全て閉じて下さい。開いたまま

    git reset hard をかけると編集中の状態で残ってしまうことがあるためです。 ファイルを全てとじたらターミナルに戻って git reset -hardコマンドを使うので先程右側の画面で確認したHEADの後の数字を思い出して下さい。 今回戻す状態は最後にブランチを切った状態HEAD{0}になるのですがHEAD{0}に戻す場合 git reset -hard HEAD{0}と入力するとエラーになってしまうのでHEADの後の{0} はつけずに git reset -hard HEAD と入力してください。 戻す場所が{0}以外の時はgit reset -hard の後に戻したい場所の数字を入力してください。 例) git reset -hard HEAD{1} など ここまででブランチを切る前からあるファイルはブランチを切った時の状態に戻っているのですがブランチを切った時、以降に作られたファイルやディレクトリ、データベースはそのま ま残っていますので ターミナルで git clean -f でファイルを git clean -dfでディレクトリを それぞれ削除してください。 次に残っているデータベースを全て削除します。 データベースが残っている状態で rails db:migrateをかけると すでにデータベースがあるよーという内容のエラーが発生しまいますので rails db:resetをかけて全てのデータベースを削除してから rails db:migrateをかけてください。 これで全てのファイル、データベースがブランチを切った状態に戻っています。実務や共同開発ではこれは使えない技術になると思いますが現時点ではとても心強い味方になってく れると思っております。 ほんとに毎日大変ですが一緒に高めあっていけたら嬉しいです。これからもよろしくお願い致します。僕からは以上です。ありがとうございました