どうも、塩ラーメンです。
昨日は、Pythonの勉強をし始め、Streamlitを使ってアプリ開発をする実習をしているという記事を書きました。58日目の今日は、はじめてのGit操作について書きます。
プログラミングにGitはほぼ必須らしい
「いまにゅのプログラミング塾」というYouTubeチャンネルのStreamlit入門講座を視聴しながら、アプリの土台を作成しました。動画では、アプリの公開までレクチャーされているので、指示のとおりにやっていくと、「Git」という言葉が出てきました。
「あ~、Gitね。はいはい。GitHubとかそういうやつのあれね(何もわかってない)」
と、1人セルフ知ったかぶりをかましつつ、「わからないままじゃマズいんだろうな…」と思い、一旦動画を止め、いまにゅさんが概要欄に載せてくださっている【サル先生のGit入門】というサイトへ飛びました。
どうやらGitとは「バージョン管理システム」というやつらしい。説明を読むと、つまりは更新履歴を保存したり、別の人が同じファイルを同時に更新しようとしたときにデータが消えちゃったりしないように管理してくれるシステムとのこと。
じゃあ「更新管理システム」の方がわかりやすいな…と思いつつも、ボヤっとしか知らなかったGitの実態をつかむことができました。
やっぱり起こった不具合等について
ここからは実際に起こった不具合等について書いていきます。
同じく初学者の人には、「私もあった」と笑って共感してもらえるかもしれません。
ダウンロードは簡単にできましたが、インストールダイアログが英語でよくわかりません。しかも、「Git インストール やり方」で検索してヒットするサイトのいくつかは、Gitのバージョンが変わっているためか、私のPCに表示されるダイアログと内容が若干違うのです。
あっちこっち参考にしながら何とかインストールを終え、「Git Bash」というターミナル?で初期設定を終えました。しかし、いまにゅさんの動画に戻ってみるとなんと!VScodeのターミナルでGitコマンドを打っているではありませんか!
「そうか、その方が便利だな。VScodeでPythonのファイルを作って、いちいちGit BashでGitコマンドを打つのは手間だ」と思い、私も初期設定以降のGitコマンドをVScodeで操作してみることに…
しかし、ターミナルに真っ赤なエラーが出てきて操作ができない!「Git なんちゅうコマンドは知りまへん」みたいなエラーです。なんでやねん。
Git Bashでは初期設定が出来たんだから、Gitなんて知らないなんて理屈は通らないはずだ!と思いつつググってみてもよくわからない。なので、ダウンロードからやり直してみました。
すると、インストールダイアログの途中で気になる記述が…
「Use Git from Git Bash only」
ん?これって、「Git BashからのみGitを使用する場合」みたいな意味なのか?
そこで、さらにググり、WindowsにGitをインストールする手順を詳しく解説してくださっているサイトを見つけて読んでみると、やはりそういうことらしい。上記の「Use Git from Git Bash only」を選択してしまうと、PATHが通らないらしい。
え?PATH?イニエスタや遠藤保仁が得意なあれじゃないよね…
そこでパスというものが何なのかさらに調べることに…パスとは、ファイルを指定するときにその道順を補完したり拡張子を補完してくれるものらしい。つまり「パスが通っている」ということは、別の場所からそのファイルを使用する準備が整っている、ということ?初心者が軽く調べた感じだとこういう認識ですが、間違っているかもしれません。
なるほど、何はともあれ、「Use Git from Git Bash only」では良くなさそうだな…ということで、「Git from the command line and also from 3rd-party software」を選択。これは「コマンドラインやサードパーティーソフトウェアからもGitを使う場合」みたいな意味ですよね。これなら良さそう。
案の定、これを選択してインストールし直し、VScodeのターミナルでGitの初期設定コマンドを打つと正常に動きました。リポジトリを作成するGit initもGit addもエラーが起こらない。
こうして、何とかGitがVScodeで使えるようになりました。
変わらないGitHub
いまにゅさんのYouTube動画を観ながら、初めてPythonで作ったアプリのコードを、GitHubにアップロード?することに成功しました。次は「streamlit sharing」というサービスを使用してのアプリの公開をするのですが、せっかくなので自分でアプリを色々カスタマイズしてみることに!
試しに不要なテキストの部分などを削除して、シンプルな見た目にしたコードを、GitでGitHubにアップロード?してみたのですが、なぜかGitHubのファイルは更新されず。
理由がわからず、また手が止まってしまいました。しかし、今回は理由は単純でした。私がリモートリポジトリという、ファイルを公開するための最終的な終着点のリポジトリにデータを送る「push」というコマンドを打っていないことが理由です。
【サル先生のGit入門】でGitを理解した気になっていましたが、全くわかっていませんでしたね。
Gitには、自分のPCを含む4つの段階(ファイル置き場?)があって、最終的にリモートリポジトリにファイルを持っていくためには3つのコマンドを打つ必要があるのです。下のとおりです。
自分のPCの作業フォルダ ↓ addというコマンドを打つと、ステージングエリアにファイルが移動する(以下同様) ステージングエリア(別名インデックス) ↓ commit ローカルリポジトリ ↓ push リモートリポジトリ |
私は、commitでリモートリポジトリに届いていると勘違いしていたので(というかよくわかっていなかった)、GitHubのファイルが更新されなかったのでした。pushをしたら更新されました。めでたしめでたしです。
アプリの公開がしたい
今日はGitに時間を取られて、アプリをカスタマイズすることが全然できませんでした。
明日はそれをやりたいと思います。
イメージとしては、英単語の学習アプリで、英単語をクリックすると、和訳が表示される、というようなものを作りたいと思っています。
もちろんアプリの公開の実習で、せっかくだから自作のものをアップしたいというだけで、クオリティは求めていませんので、ものすごくシンプルで使えないアプリになると思いますが、楽しみです。
最後までお読みいただき、ありがとうございました。
感想・意見・指摘などは、コメントに残していただけるとありがたいです。
ツイッターで、ブログの更新情報などお知らせしています。
【https://twitter.com/saltramen_book】
それでは、また別の記事でお会いしましょう。
コメント