Git は ソースコードのバージョン管理ツール、GitHub はその 置き場(リモートリポジトリ)を提供するサービス です。1 人で学習する場合でも、Git を使うとコードの履歴が残り、誤って書き換えても元に戻せます。
本記事では、学習プロジェクトを前進させる上で 必要十分な操作 に絞って整理します。あとから増える操作は、必要になったタイミングで覚えれば間に合います。
目次
- Git のインストール
- 初期設定(初回だけ)
- まずローカルで Git を始める
- 最初のコミット
- .gitignore を最初に書く
- GitHub にリモートを作る
- 普段の流れ(編集 → コミット → プッシュ)
- 他の PC やフォルダから取得する(clone / pull)
- ブランチは最初は使わなくてもよい
- コミットメッセージの書き方
- やり直したい操作の表
- API キーを誤ってコミットしてしまったら
Git のインストール
OS ごとに 1 行で済みます。
| OS | コマンド |
|---|---|
| Windows | https://git-scm.com/download/win からインストーラを取得 |
| macOS | brew install git(または xcode-select --install) |
| Linux | sudo apt install git(Debian / Ubuntu) |
導入後にバージョン確認します。
git --versiongit version 2.45.x初期設定(初回だけ)
コミットに紐付ける名前とメールを設定します。
git config --global user.name "your-name"git config --global user.email "you@example.com"git config --global init.defaultBranch mainメールアドレスは GitHub に登録するもので問題ありません。プライバシー上の懸念がある場合、GitHub が用意する noreply アドレスを使う選択肢もあります(GitHub の設定で確認できます)。
まずローカルで Git を始める
新しい学習用フォルダを 1 つ作って、その中で Git を初期化します。
mkdir pykabu-studycd pykabu-studygit init.git/ という隠しフォルダができます。これが履歴を保存する本体です。
最初のコミット
ファイルを作って 1 回コミットしてみます。
echo "# pykabu-study" > README.mdgit statusgit add README.mdgit commit -m "Add README"git status は 今の状態を見るための合言葉 です。困ったらまず叩く癖を付けると、迷いが減ります。
.gitignore を最初に書く
学習プロジェクトでも、リポジトリに 入れたくないファイル が発生します。仮想環境のフォルダ、Notebook のチェックポイント、API キーを書いた .env などです。
.venv/__pycache__/.ipynb_checkpoints/.env*.csv.DS_Store.csv を一律で除外するかどうかはプロジェクトによります。サンプルデータを共有したい場合は除外しないか、!sample.csv のように戻す書き方をします。
.gitignore 自体は 必ずコミット します。
git add .gitignoregit commit -m "Add .gitignore"GitHub にリモートを作る
- https://github.com/ にサインイン
- 右上
+ → New repositoryを押す - リポジトリ名を入力(例:
pykabu-study) - Public か Private を選ぶ(学習用なら Private が無難)
READMEなどのチェックは入れずにCreate repository
作成画面に表示されるコマンドのうち、…or push an existing repository from the command line のブロックを使います。
git remote add origin git@github.com:your-name/pykabu-study.gitgit branch -M maingit push -u origin maingit@github.com:... は SSH 用、https://github.com/... は HTTPS 用です。SSH 鍵を設定済みなら SSH の方が以後のパスワード入力を省けます。
普段の流れ(編集 → コミット → プッシュ)
学習中の典型的な 1 サイクルは次のようになります。
# 何か編集するgit statusgit diff # 変更内容のプレビューgit add path/to/file.py # 変更したファイルを staging に乗せるgit commit -m "Add SMA calculation"git push # リモートに反映git add . で全部まとめて追加もできますが、意図しないファイル(キーや巨大データ)を巻き込みやすい操作です。慣れるまでは個別指定の癖を付けるほうが安全です。
他の PC やフォルダから取得する(clone / pull)
別の環境でリポジトリを取得するときは clone を使います。
git clone git@github.com:your-name/pykabu-study.gitcd pykabu-studyすでにある手元のリポジトリで、リモートの最新を取り込むときは pull です。
git pull学習中に「自分しか触らない」前提なら、push と pull の頻度はそれほど高くありません。1 日の終わりに 1 回 push する運用でも十分です。
ブランチは最初は使わなくてもよい
main ブランチだけで進める運用でも、学習用途なら問題ありません。チームで作業するときに必要になります。慣れてから次の操作を覚えれば間に合います。
git switch -c try-rsi # ブランチを作って切り替え# 作業 → commitgit switch maingit merge try-rsi # main に取り込むコミットメッセージの書き方
メッセージは 1 行目で 50 文字程度にまとめ、必要なら 2 行目以降に詳細を書きます。次のような書き出しが定番です。
| 動詞 | 用途 |
|---|---|
Add ... | 新規追加 |
Update ... | 既存の修正 |
Fix ... | バグ修正 |
Refactor ... | 振る舞いを変えない整理 |
Docs ... | 文書のみ変更 |
学習プロジェクトでは、後で見返したときに 何を学んだ単位か が分かるサイズでコミットすると良くなります。「PER 計算を追加」「不要 import を整理」など、1 トピックずつ刻むのが目安です。
やり直したい操作の表
困りやすい操作を最低限ピックアップします。
| 状況 | 対処 |
|---|---|
| 直前のコミットメッセージを修正 | git commit --amend |
| 直前のコミットを取り消し(変更は残す) | git reset --soft HEAD~1 |
| 全部の変更を破棄して元に戻す | git restore .(危険なので慎重に) |
git add を取り消す | git restore --staged path/to/file |
reset --hard などの操作は 戻らない変更を起こす ので、慣れるまでは避けるのが安全です。
API キーを誤ってコミットしてしまったら
.env を .gitignore に入れる前にコミットしてしまった、などのケースがあります。履歴ごと消す必要があり、push 済みなら鍵自体を再発行するのが最優先 です。
詳細な手順は#2-8「API キーや秘密情報の安全な扱い方」(API キーや秘密情報の安全な扱い方)で扱います。原則として 「鍵は再発行が一番速い」 と覚えておきます。
まとめ
- Git は
init / status / add / commit / push / pullの 6 つで学習を始められる - 最初に
.gitignoreを整え、.envや仮想環境フォルダを除外する - リモートは GitHub に作り、
originとして登録する - コミットは 1 トピックずつ刻む とあとで見返しやすい
- 巻き込み事故を避けるため、
git add .より個別指定を優先する