基礎から学ぶPython入門 90日コース | 実践開発 - Day 77:GitHub

Python 90日で身につけるPython
スポンサーリンク
スポンサーリンク

Day 77:GitHub ― 「自分のコードを世界に置いてみる」

Day 77では、Gitの次の一歩として、

GitHub

を扱います。

今日のキーワードはこの5つです。

  • リポジトリ
  • push
  • pull
  • README
  • .gitignore

Gitが「ローカルでの履歴管理の仕組み」だとしたら、 GitHubはそれを インターネット上に広げる場所 です。

  • 自分のコードをクラウドに置く
  • 他の人と共有する
  • チームで開発する

そんな場面で、GitHubはほぼ必ず登場します。

GitHubとリポジトリ ― 「コードの家」をクラウドに建てる

GitHubって何者?

GitHubは、

Gitで管理されたコードを、インターネット上でホストするサービス

です。

  • 無料で使える
  • ブラウザからコードが見られる
  • IssueやPull Requestなど、チーム開発向けの機能が豊富

などの特徴があります。

「自分のコードを、ちゃんとした“作品”として置いておく場所」 というイメージを持ってもらうと、しっくりくるかもしれません。

リポジトリとは ― プロジェクトの「箱」

GitHubで中心になる概念が、

リポジトリ(repository)

です。

リポジトリは、ざっくり言うと、

「ひとつのプロジェクトを入れておく箱」

です。

  • そのプロジェクトのファイル
  • 変更履歴
  • Issue(課題)
  • Pull Request(変更提案)
  • WikiやREADME

などが、ひとつのリポジトリにまとまります。

ローカルのGitでも「リポジトリ」という言葉は出てきましたが、 GitHubではそれが クラウド上の箱 として存在します。

GitHubにリポジトリを作る ― ブラウザでの最初の一歩

新しいリポジトリを作成する流れ(概念的な説明)

GitHubにログインした状態で、

  1. 右上あたりの「+」ボタンから「New repository」を選ぶ
  2. リポジトリ名を入力する(例:day77-github-basic
  3. 公開範囲(Public / Private)を選ぶ
  4. 必要なら README を自動生成するチェックを入れる
  5. 「Create repository」ボタンを押す

これで、クラウド上に 空のリポジトリ ができます。

画面には、

  • リポジトリ名
  • URL(例:https://github.com/ユーザー名/day77-github-basic
  • 「Quick setup」的な説明

などが表示されるはずです。

このURLが、 「自分のコードの“住所”」 になります。

ローカルのGitとGitHubをつなぐ ― push と pull

ローカル側の準備(Day 76の続き)

Day 76で作ったフォルダを、 GitHubに載せるイメージで進めてみましょう。

例として、ローカルにこんなフォルダがあるとします。

bash

day77_github_basic/
└── main.py

main.py はこんな感じ。

# main.py
def main():
    # GitHub練習用のメイン関数です。
    print("Hello GitHub!")
    print("Day 77: GitHub基礎を練習中")


if __name__ == "__main__":
    main()
Python

このフォルダで、Gitを初期化しておきます。

bash

cd day77_github_basic
git init
git add main.py
git commit -m "Add main.py for GitHub practice"

ここまでで、

  • ローカルにGitリポジトリがある
  • main.py がコミットされている

という状態です。

リモートリポジトリを登録する ― git remote add

GitHubで作ったリポジトリのURLを、 ローカルのGitに教えてあげます。

例として、GitHubのURLがこうだとします。

https://github.com/yourname/day77-github-basic.git

これを「origin」という名前で登録します。

bash

git remote add origin https://github.com/yourname/day77-github-basic.git
  • remote:リモート(クラウド側)のリポジトリ
  • origin:よく使われる「デフォルトのリモート名」

というイメージです。

push ― ローカル → GitHub へ「コードを送り出す」

push は、

「ローカルのコミットを、リモートリポジトリに送る」

操作です。

初回は、こんな感じで実行します。

bash

git push -u origin master

(ブランチ名が main の場合は master の代わりに main を使います)

  • origin:さきほど登録したリモート名
  • master:ローカルのブランチ名
  • -u:このブランチとリモートの対応関係を覚えさせるオプション

これが成功すると、

  • GitHubのリポジトリ画面に main.py が表示される
  • コミット履歴も見られる

ようになります。

push のイメージ:

「ローカルで育てたコードを、 GitHubという“公開の場”に送り出す」

という感じです。

pull ― GitHub → ローカル へ「変更を取り込む」

pull は、

「リモートリポジトリの変更を、ローカルに取り込む」

操作です。

チーム開発で、他の人がGitHub上で変更を加えたときなどに使います。

基本形はこうです。

bash

git pull origin master
  • origin:リモート名
  • master:ブランチ名

これを実行すると、

  • GitHub上の最新コミットがローカルに取り込まれる
  • 必要に応じてマージが行われる

という流れになります。

pull のイメージ:

「クラウド上の最新状態を、 自分の手元に反映させる」

という感じです。

README ― 「このリポジトリは何者か」を語る自己紹介

READMEって何を書くもの?

GitHubのリポジトリを見ると、 トップページに README.md が表示されていることが多いですよね。

READMEは、

「このリポジトリが何をするものなのか」を説明する自己紹介ファイル

です。

よく書かれる内容は、

  • プロジェクトの概要
  • 使い方(インストール方法、実行方法)
  • 必要な環境(Pythonのバージョンなど)
  • ライセンス
  • 作者や連絡先

などです。

簡単な README の例

Day 77の練習用リポジトリに、 シンプルな README.md を作ってみましょう。

markdown

# Day 77 GitHub Basic

このリポジトリは、Python入門90日コースの Day 77 で使用する GitHub練習用プロジェクトです。

## 概要

- GitHubの基本的な使い方を練習するためのサンプルコード
- `main.py` を実行すると、簡単なメッセージが表示されます

## 実行方法

```bash
python main.py

ライセンス

学習用途のサンプルです。自由に参考にして構いません。


このファイルをリポジトリのルートに置いてコミットし、  
GitHubにpushすると、  
リポジトリのトップページにREADMEが表示されます。

**READMEの役割:**

> 「このプロジェクトが何者なのか」を、  
>  初めて訪れた人に優しく伝える案内板

だと思ってもらうと、書きやすくなります。

---

## .gitignore ― 「これはGitに覚えさせなくていいよ」というリスト

### .gitignoreが必要になる場面

開発をしていると、  
こんなファイルやフォルダが増えていきます。

- 一時ファイル(`*.tmp`)  
- Pythonのキャッシュ(`__pycache__`)  
- 仮想環境(`venv/`)  
- ローカル設定ファイル(`.env` など)

これらは、

- コードそのものではない  
- 環境ごとに違う  
- GitHubに載せる必要がない(むしろ載せたくない)

ことが多いです。

そこで登場するのが、

> **`.gitignore`**

です。

### .gitignore の役割

`.gitignore` は、

> **「このパターンに当てはまるファイルは、Gitで追跡しないでね」**

というルールをまとめたファイルです。

例として、Pythonプロジェクト向けの簡単な `.gitignore` を作ってみます。

```gitignore
# .gitignore

# Pythonのキャッシュ
__pycache__/
*.pyc

# 仮想環境
venv/

# 環境変数ファイル(秘密情報が入ることが多い)
.env

このファイルをリポジトリのルートに置いておくと、

  • __pycache__ フォルダ
  • venv フォルダ
  • .env ファイル

などは、git status に出てこなくなります。

セキュリティ的に重要なポイント:

  • .env や秘密鍵ファイルなど、 秘密情報が入る可能性のあるファイルは、必ず .gitignore に入れる
  • 誤ってGitHubに秘密情報をpushしてしまうと、 取り返しがつかないこともある

というところです。

Day 77ミニテンプレート ― GitHub一周セット

最後に、今日の内容をひとまとめにした 「GitHub一周練習テンプレート」 を載せておきます。

1. ローカルでプロジェクトを作る

bash

mkdir day77_github_basic
cd day77_github_basic
echo 'print("Hello GitHub!")' > main.py
# main.py
def main():
    # GitHub練習用のメイン関数です。
    print("Hello GitHub!")
    print("Day 77: GitHub基礎を練習中")


if __name__ == "__main__":
    main()
Python

2. Gitを初期化してコミットする

bash

git init
git add main.py
git commit -m "Add main.py for GitHub practice"

3. README と .gitignore を追加する

bash

echo '# Day 77 GitHub Basic\n\nGitHub練習用のリポジトリです。' > README.md

bash

cat << 'EOF' > .gitignore
__pycache__/
*.pyc
venv/
.env
EOF

bash

git add README.md .gitignore
git commit -m "Add README and .gitignore"

4. GitHubにリポジトリを作り、リモートを登録する

GitHub上で day77-github-basic というリポジトリを作成し、 そのURLを使ってリモートを登録します。

bash

git remote add origin https://github.com/yourname/day77-github-basic.git

5. push して、GitHubにコードを送り出す

bash

git push -u origin master  # ブランチ名が main の場合は main に変更

これで、

  • GitHub上に main.py / README.md / .gitignore が表示される
  • ローカルの変更がクラウドに反映される

という、GitHub一周 が完了します。

Day 77のまとめ ― 「コードが、自分のPCの外に出ていく瞬間」

今日の主役は、

  • リポジトリ:プロジェクトを入れておく「箱」
  • push:ローカル → GitHub へ変更を送り出す
  • pull:GitHub → ローカル へ変更を取り込む
  • README:リポジトリの自己紹介・案内板
  • .gitignore:Gitに「これは覚えなくていいよ」と伝えるルール集

でした。

GitHubに初めてコードを載せるとき、 少しドキドキする人も多いです。

  • 「こんなコードを公開していいのかな」
  • 「ちゃんと動くかな」

そんな気持ちも、もちろん自然です。

でも、Day 77で触れたような、 小さくてシンプルな練習リポジトリからで構わないので、 「自分のコードを外の世界に置いてみる」 という経験をしてみると、

  • コードが「作品」に見えてくる
  • 自分の成長が、履歴として残っていく
  • いつか誰かと一緒に開発したくなる

そんな感覚が、少しずつ育っていきます。

GitHubは、 ただのツールではなく、 「自分の開発の軌跡を、そっと並べておける場所」 でもあります。

Day 77でその扉を開けたことで、 これからの実践開発が、 ぐっと広い景色を持ち始めます。

タイトルとURLをコピーしました