アラフォーがお金持ちになるためエンジニア目指すブログ

お金も根性も学歴もないアラフォーまきのがエンジニアになってお金持ち目指すよ!

【Railsメモ】GitHub Desktopでコードをやり直す

どうも、アラフォーまきのです。
いろいろありまして、モデルを削除したりと余計なことをしてしまった!
なので、やり直したい!

ということで、ごちゃごちゃ余計なことをする前の綺麗なコードに戻す方法をメモしておきます。

登場するツール

Visual Studio Code…コードはこれで書いてます
GitHub Desktop…GitHubをアプリとしてデスクトップに置いておける便利ツールらしい。個人的にはこれがgitの役割だと思ってる。
GitHub…gitの更新履歴のコピーを保存する場所

状況

gem deviseをインストールしたかった。

でも、もともとUserモデルを作ってある状態。
カラムの内容がかぶるものがあり、エラーが出てだめだった。

このとき、調べが甘くてUserモデル消す方向に動き、しっちゃかめっちゃかにしちゃった。

でも、こうなることは想定していたので、deviseを入れる前の段階で、とりあえずGitHub Desktopで内容をcommit&pushしておいた。

deviseを入れてからは、VSCood上では保存をかけていたけれど、GitHub Desktopでは一切commitやpushはしていない状態。

そんなんしたら、しっちゃかめっちゃかコードに上書きされちゃうじゃないか!という恐怖心でできなかった(笑)

結果、それでよかった。

手順

1:あきらめる
とりあえず、こねくり回すのをやめる(笑)

2:GitHub DesktopのChangesで右クリック

クリックする場所で出るメニューが違う。

f:id:MmRevorution:20181209104704p:plain

1 canged fileなのは、変更されたファイルが1つだから。
たくさん更新したら、その分ちゃんと表示される。


f:id:MmRevorution:20181209104715p:plain


3:全部なかったことにしたい
なら、Discard All Cangesを選ぶ。

これは、1 canged fileと特定のファイル名どちらからやっても同じ。

今はたまたま1つしか変更ファイルがないけれど、さっき私がやろうとした段階では、6つくらいのファイルで26箇所の変更があった。

これ全部なかったことになるので注意。
クリックしても「本当にいいの?」と聞いてくれるから(英語で)いいならDiscard All Canges!

f:id:MmRevorution:20181209105203p:plain

4:特定のファイルだけなかったことにしたい
なら、そのファイルで右クリック。
Discard Changes...をクリックすればOK.

ここでもさっきのように「本当にいいの?」と聞いてくれる。よければDiscard Changesで。

5:VSCoodに戻ると…
戻ってるー!

GitHub DesktopでPullしたりcloneしたり、今回みたいにDiscardすると、VSCood側では何もしなくても自動的にその内容に更新してくれる。
おもしろい。

もしVSCoodで今Discardしたファイルを開いたままにしていた場合、GitHub Desktopから戻ってきた時点ではそのファイルはあるんだけれど、VSCoodを更新したり、そのファイルから離れるとちゃんといなくなってる。

f:id:MmRevorution:20181209110021p:plain

補足

VSCoodでは、直接GitHubへcommitしたりpushすることができるみたい。

f:id:MmRevorution:20181209110539p:plain