Act 03. GitHubを使ったコードの管理
はじめに
Act 01. AIで外国為替を自動売買するまでの道のりをベースに学習を進めて行く。
以前はAct 02. WindowsでPythonの環境構築とバージョン管理を行うでPythonのバージョン管理を行ったが、今回はGitHubを用いたコードのバージョン管理を行う。
Windows11にWSL2をインストールして、Ubuntuの環境を構築している。
なので、今回はUbuntuにGitをインストールしていこうと思う。
ちなみにGitHubに登録するところからやっていくよ。
なんで何個もバージョン管理するの…?という人向けにChatGPTさんに質問してみた。
以下、ChatGPTさんの回答
GitHubは、ソフトウェア開発のためのウェブベースのプラットフォームで、Gitを使ってコードを管理・共有するサービスです。主な特徴は以下の通りです
- バージョン管理: ソースコードの変更履歴を管理。
- リポジトリ: プロジェクトごとにコードやファイルを保存。
- コラボレーション: 複数の開発者が同時に作業可能(ブランチやプルリクエストを利用)。
- イシュートラッキング: バグや機能のリクエストを管理。
- 自動化: GitHub ActionsでCI/CDを自動化。
pyenv
とは管理するバージョンの内容が違うね。
いつも通り、基本的に他人の記事を参考にしていこうと思う。
良い記事は広めていこうということで…(すみません)
GitHubにアカウントを作成
この記事が古くなると設定の流れは変わるだろうから注意。
こんな事したんだなくらいの気分で。
- 公式ページのサインアップ画面に行く
- メールアドレス、パスワード、ユーザ名を入力
- 検証を行う
- メールアドレスに送られた6桁のコードを入力
- 自分の状態とチームメンバーを設定
※なんでも良いが、Working developer
とJust me
を選択 - GitHubでやりたいことは何か聞かれたから無視して次へ
- 無料版か有料版どっち使うか聞かれるから無料版を選択
- ダッシュボードが表示されればアカウント作成完了
GitHubリポジトリの作成
リポジトリとは、プロジェクトごとにコードやファイルを保存する場所。
初めてリポジトリを作成する場合は、サイドメニューにCreate Repository
と記載されているはず。
ない場合は画面右上の+
からnew repository
を選択。
適当にリポジトリ名を設定してCreate Repository
をクリックする。
自分の場合はtest
というリポジトリ名にしてみた。他はデフォルトの設定値。
準備は出来たから実際にファイルをリポジトリにアップロードしてみる。
Gitインストール
ファイルをアップロードする前に、まずはubuntuにgitのインストールをしないといけない。
Ubuntu git ~ github連携までを参考にした。
一応、記事が削除された時ようにメモを残しておく。
また、GitHubとの連携はHTTPSかSSHで行えるが、今回はSSHを使用する。(基本こっちが使われる)
比較表は以下の通り。
HTTPS/SSH | メリット | デメリット |
---|---|---|
HTTPS | ・設定が簡単 | ・毎回のパスワード入力 ・セキュリティリスクが低い |
SSH | ・セキュリティが高い ・パスワード不要 ・自動化が容易 |
・初期設定が必要 |
-
gitインストール
sudo apt install git
-
ユーザー設定
※<名前>と<メールアドレス>は修正する
※<>は不要なので削除してよし$ git config --global user.name <名前> $ git config --global user.email <メールアドレス>
-
SSHキーの作成
※<メールアドレス>は修正する
※<>は不要なので削除してよし### 以下のコマンドを実行する ssh-keygen -t rsa -C "<メールアドレス>" ### 以下の内容が出力される Generating public/private rsa key pair. Enter file in which to save the key (/home/onishi/.ssh/id_rsa): ### 1.何も入力しないでEnter Created directory '/home/onishi/.ssh'. Enter passphrase (empty for no passphrase): ### 2.パスワード1回目 Enter same passphrase again: ### 3.パスワード2回目(1回目と同じパスワード) Your identification has been saved in /home/onishi/.ssh/id_rsa Your public key has been saved in /home/onishi/.ssh/id_rsa.pub The key fingerprint is: SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/XXXX XXXXXXXXXXXX@gmail.com The key's randomart image is: +---[RSA 3072]----+ | . .+*| | . x x.+O| | . = . *vB| | = . s e.| | f = . | | = f w .o.| | . =o + = Eo+| | **.* . .+ .| | .oef.=.o.o | +----[SHA256]-----+
-
公開鍵のコピー
以下のコマンドでファイルの内容をクリップボードにコピーするcat ~/.ssh/id_rsa.pub | clip.exe
-
GitHubのページを開く
-
画面右上のアカウントアイコンをクリックし
Settings
選択 -
SSH and GPG keys
を選択 -
New SSHKey
を選択 -
タイトル(分かりやすいもの)を入力し、keyにコピーしたものをペーストする
-
Add SSH Key
をクリック -
Ubuntuで以下のコマンドを実行する
※コマンド実行後にyes
と入力し、SSHキーを作る時に設定したパスワードを入力ssh -T git@github.com
-
SSHエージェントを使って、SSHキーをキャッシュ
※id_rsaの部分は実際のキー名に置き換える(同じ手順なら置き換え不要)
※ssh-add
コマンド実行後にSSHキー作成時に設定したパスワードを入力eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
GitHubにファイルをアップロード
-
GitHubの作成したリポジトリの画面を開く
※画面右上のアカウントアイコンからYour Repository
を選択すれば開ける -
赤枠の文字列をコピー
※HTTPSからSSHに変更すること!
-
クローンを作成
※<コピーした内容>はgit@github.com:ユーザ名/test.git
を張り付ける
※<>は不要なので削除してよしgit clone <コピーした内容>
-
クローンしたフォルダに移動しファイルを作成する
※<>は不要なので削除してよし
※自分の場合はtest
というリポジトリ名cd <リポジトリ名>
-
テストファイルの作成
echo "hello git" > test.txt
-
リポジトリにプッシュ
※それぞれのコマンドの意味は自分で調べてgit add . git commit -m "init" git push origin main
-
ファイルの確認
GitHubの画面をリロードすると、test.txtファイルが追加されている。
内容はhello git
となっているはず。 -
ファイルの修正
Ubuntuで以下のコマンドを実行しファイルにmod txt file
という文字列を追加するecho "mod txt file" >> test.txt
-
リポジトリにプッシュ
git add . git commit -m "mod" git push origin main
-
ファイルの確認
GitHubの画面をリロードすると、test.txtファイルが修正されている。
内容はmod txt file
が追加されているはず。Code
をBlame
に変更すると、変更履歴が確認できる。
さいごに
GitHubを使っていれば、PCが壊れてもコードを失わずに済む。
理解はしていたけど記事にすると知識も整理されるからアウトプット最高ね。
ではまた
Discussion