【66日目】プログラミング学び日記_Git×GitHub
このnoteは、31歳未経験からエンジニアを目指して勉強していく記録を綴っているものです。現在はAdTechでカスタマーサクセスを担当しつつ、色んなチャンスに恵まれ、CS業務や子育てと並行しながらチャレンジしています。
これからプログラミングを始める方にとってのTipsやモチベアップに繋げられるように頑張りたいと思っています。
--------------------------------------------
本日のアウトプットは、昨晩苦戦しながらもなんとか成し遂げたGitHubへのアップロードについてです。作成したTodoアプリのコードをどうしてもアップロードしておきたくて頑張りました。
GitHubやGitの設定から、作成したディレクトリやファイルをGitHubにプッシュするまでの流れを大まかにまとめてみます。細かな設定方法は、とても参考になったサイトや動画を紹介したいと思います。
環境はWindows10で、完全に初期設定からだと大まかに以下の流れです。
Gitをインストール&GitHubにアカウント登録
(必要なら)Gitを操作するエディタを登録
【リモート】GitHubにリポジトリを作成
【ローカル】Gitで管理したいディレクトリにcdして「git init」
【ローカル】「git add .」と「git commit -m "コミット文"」
GitHubにSSH接続するため秘密鍵を設定して登録
【ローカル】「git remote add origin リモートリポジトリのURL」でGitHubのレポジトリと紐づける
【ローカル→リモート】「git push -u origin master」でGitHubにプッシュ
1.Gitをインストール&GitHubにアカウント登録
これは様々な記事や動画で方法が紹介されていますが、私は以下の動画を参照しました。初心者向けに解説してくださっていて、とても分かりやすかったです。
2.(必要なら)Gitを操作するエディタを登録
インストール時にGitを操作する方法のデフォルト設定ができるのですが、そこでエディタを設定できていれば不要です。私はNotepadをデフォルトで設定してしまい、後からVSCodeで操作したくなったので以下の記事に紹介されている手順で再設定しました。
意外とひと手間かかったので、インストール時に設定することをお勧めします。
3.【リモート】GitHubにリポジトリを作成
ここから最後までの手順は主に以下の動画を参考にしました。
リポジトリの新規作成をすると以下の画面になるので、ファイル名とDescriptionを入力して、公開するかしないか(PublicかPrivateか)を選択してCreate repsitoryすればOKです。
そうすると以下の画面になります。赤線で囲った部分にこの後のコマンドの流れが記載されています。
4.【ローカル】Gitで管理したいディレクトリにcdして「git init」
cdとはChange Directoryの略です。コマンドプロンプトやターミナルで、Gitで管理したいディレクトリにcdしてください。その後、git initと入力し、ディレクトリに「.git」というフォルダが出現すれば成功です(隠しフォルダが見えるように設定しておいてください)。
5.【ローカル】「git add .」と「git commit -m "コミット文"」
以前の記事で、Gitは「work tree」→「staging」→「ローカルリポジトリ」→「リモートリポジトリ」という4つ領域に分かれていることに触れました。
「git add .」や「git commit -m "コミット文"」は正にこの4領域を移動していくためのコマンドです。addでstagingに移動し、commitでローカルリポジトリに移動します。
git addの「.」は「全て」を意味しており、直下のディレクトリにある全てが対象となることを意味します。特定のファイルやディレクトリのみaddしたい場合は、「git add ファイル名」とすれば可能です。
git commitのコミット文は、メモのようなものなので日本語でもOKです。
6.GitHubにSSH接続するため秘密鍵を設定して登録
ここまではローカル環境とリモート環境(GitHub)それぞれでの動きでした。ここからはローカルとリモートを紐づける必要があり、大雑把に以下の2段階です。
①自分のPCとGitHubをSSH接続
②Gitで管理しているディレクトリとリモートリポジトリの接続
この6章は①についてです。
GitHubに接続するにはSSHの公開鍵認証方式を取る必要があります。つまり公開鍵を作ってGitHub上に登録しなければなりません。以下の記事で手順が分かりやすく解説されていたので、参考にしてみてください。
また、SSHについては以下の記事が分かりやすかったです。
YouTubeの解説動画ではこのSSHに触れているものがなく、私はSSH認証しないままGitHubへpushしようとしていて、最初は苦戦しました。
7.【ローカル】「git remote add origin リモートリポジトリのURL」でGitHubのレポジトリと紐づける
>①自分のPCとGitHubをSSH接続
>②Gitで管理しているディレクトリとリモートリポジトリの接続
の②に該当する処理です。ターミナルに戻って、「git remote add origin」コマンドを実行することで接続できます。URLはレポジトリを作成した際に表示されています。
8.【ローカル→リモート】「git push -u origin master」でGitHubにプッシュ
ここまでくれば、最後のコマンド「git push -u origin master」でGitHubにプッシュできます。ここのmasterは、Gitのインストール時に設定した名前で、mater以外だとmainになっている可能性もあります。
これは今後ブランチという分岐処理をする場合、元のコードがmaster(やmain)ということです。ブランチについてはまだ何となくしか理解できてないですが、一先ず大元のコードである、という認識です。
実務だとGitやGitHubでの管理は必須みたいなので、今後作るアプリは適宜GitHubに上げながら、少しずつ慣れていきたいと思います。
これまで修了したコース等
【YouTube動画】
Pythonでウェブサービスを作ろう! #1
テンプレートをマスターしよう! #2
静的ファイルを配信しよう !#3
データベースと接続しよう! #5
【Paiza】
Aランクレベルアップメニュー 24/49問
ループメニュー1 20/20問
ループメニュー2 5/20問
配列メニュー 34/64問
条件分岐メニュー 25/25問
二重ループメニュー 19/19問
配列活用メニュー 26/26問
文字列処理メニュー 30/30問
Bランクレベルアップメニュー 62/62問
Cランクレベルアップメニュー 30/30問
ランクB合格
ランクC合格
【書籍/ブログ】
Django入門 | 初心者でも1時間でWebアプリ(Todoアプリ)を作成するコース
基礎からのMySQL 514/514頁
Web技術の基本 189/189頁 ※2周目中
京大のPython教科書 116/201頁
Pythonデータベースプログラミング 194/194頁
Pythonエンジニアファーストブック読了
【Progate】
Python Ⅰ~Ⅴ
Python アプリ版 コースⅠ~Ⅴ
SQL Ⅰ~ Ⅳ
SQL アプリ版 コースⅢ
HTML&CSS 初級編
【その他】
Pythonの環境構築
VSCodeの環境構築
MySQLの環境構築(MAMP)
Git / GitHubの環境構築
この記事が気に入ったらサポートをしてみませんか?