00:01
5分で学べる、ハチコのAI実践カフェ。
おはようございます。この番組では、ママエンジニア、ハチコが、AIでできたことや、おすすめのAI活用法をお届けしています。
もし、この放送を気に入っていただけたら、いいねやフォローをしていただけたら嬉しいです。
さて、9月10日、水曜日。皆さま、いかがお過ごしでしょうか。
こんにちは。今日は、昨日に引き続きGitの話をしようかなと思っています。
コミットの操作
ということで、今日のテーマはこちら。コミットをさかのぼる時の話。
昨日お話しした、塗り絵アプリの話の続きなんですけど、
まず、これまでのあらすじとしては、塗り絵アプリを作りました。動いたと思ったんだけど、
表紙を作りたかったんですよね。アプリを開いて、いきなり塗り絵がドーンだと使いづらいかなと思って、
最初に塗り絵のカテゴリーを選んでもらうメニュー画面をつけようと思ったら、その回収のときに塗り絵が動かなくなっちゃって、
仕方がないので、前のバーションに戻そうと思ったんですよね。
そしたら、動いたと思ったポイントでコミットし忘れていて、もっとそこよりも前のポイントまで戻らなきゃいけなくなっちゃったんですよね。
今日の話はこの辺りから。今いるコミットから違うコミットの状態に移動すること。
複数のセーブポイントの中から、今いるポイントから別のセーブポイントを読み出し直すみたいなイメージです。
それをチェックアウトと言います。
今回、間違えてというか、結局動かなかったのにコミットしちゃったポイントがB。
それよりも前にコミットしていたのがA。それぞれそういうポイントだとしましょう。
今Bにいるけど、まずAのポイントまで戻ろうと思って、Aをチェックアウトします。
例えばVS Codeだったら、左側にソース管理のメニューがあるんですけど、そこにコミットの一覧があるんです。
戻りたいコミットの上で右クリックしてチェックアウトってすると、そのポイントまで戻れるんですね。
移動できるんです。チェックアウトすると、そこに置いてあるファイルもそのコミット時点の状態になります。
今回は古いコミットAにチェックアウトして、そこからもう一回ちゃんと塗り絵がまずは動くところまで進めて、コミットってしちゃったんですよね。
GitHubとの同期
つまりBにいました。Aに戻りました。今度Bダッシュっていう状態になって、ここでコミットをしてしまったんです。
これはコミットできるんですけど、GitHubにプッシュしようとすると怒られます。
なぜかというと、GitHubとしては一方のメインっていうブランチにずっといて、Aってセーブしました。Bってセーブしました。
今、私はAを見てるけど、GitHubとしてはもうA、Bできてるから、Aから派生したBダッシュというものは、その状態では受け入れられないんですね。
どうしたらよかったのかと言いますと、例えば、これやり方多分いろいろあるんですけど、
例えば、そのAっていうポイントから新しいブランチ、枝分かれを設定するとか、
あともうBっていうポイントがいらないので、今回はBっていうポイントを打ち消す、なかったことにするとかあります。
ちなみに今回はもううっかりAにチェックアウト、Bダッシュ作っちゃって、コミットしちゃって、GitHubにできないよ、上げられないよって状態になっちゃったんで、
でもこのBダッシュも消したくないみたいなめんどくさいことになっていたので、こんなふうに対応しましたという手順をさらっとお伝えしますね。
これ多分耳で聞いていても、ちょっとはてってなっちゃうかもしれないけれども、一応私の利暴力も兼ねて、
まず新しいブランチを作りますと、そしてそのBダッシュの状態を新しいブランチにして、それをGitHubにプッシュしておきます。
バックアップという感じですかね。今度はメインブランチに戻ってきて、今度はBっていういらなくなった、必要なかったコミットを打ち消します。
リバートっていうやつで打ち消します。今度はさっきBダッシュの状態をブランチに保存したんですけど、そのブランチをメインのブランチにマージします。
そしてGitHubにメインブランチをプッシュします。最後に一時対比的にBダッシュをブランチを切って保存していたので、その仮のブランチを削除しますという感じですかね。
この最後のひと手間は別にやらなくても、ちょっと行き止まりになっている横道ができているだけですけど、そんなに困らないと思うので、どっちでもいいかなとは思いますが。
ということで、今回はこの手順を全部具体的にお伝えしたいというよりは、Gitで管理している前のバージョンに戻れるというのが一番大きなメリットだと思うんですけど、
ただね、闇雲に戻ってそこからブランチとかも切らずに新しい道に突き進もうとすると、必ずGitHubでつまづきますので、そういうものなんだなというのを頭の片隅に置いておいていただけたらいいかなと思っています。
ということで、今日もここまで聞いてくださって本当にありがとうございます。一緒にAIで毎日ちょこっと進化していきましょう。
それでは、またね。