バージョン管理とコラボレーションのためのGitの使い方 | 機械学習の環境準備 | Pythonによる機械学習を学ぶ

スポンサーリンク
スポンサーリンク
amazon
スマイルSALE
--:--:--
ad. 価格範囲を指定して商品を探せます

バージョン管理とコラボレーションのためのGitの使い方

Gitは、コードの変更履歴を管理するためのバージョン管理システムです。Pythonや機械学習プロジェクトでは、コードの修正履歴を残したり、過去の状態に戻したり、複数人で共同作業を行ったりするために利用されます。

Gitを使うことで、どのファイルをいつ、どのように変更したかを記録できます。また、GitHubなどのリモートリポジトリと組み合わせることで、チームでのコラボレーションも効率的に行えます。

Gitの使い方を図で理解する

Gitの使い方を図で理解する

Gitとは

Gitは、プロジェクト内のファイルの変更履歴を記録し、必要に応じて過去の状態に戻せるツールです。

  • コードの変更履歴を管理できる
  • 過去のバージョンに戻せる
  • 複数人で同じプロジェクトを編集できる
  • ブランチを使って作業を分けられる

Gitのインストール

Gitをインストールしていない場合は、Git公式サイトからインストールします。

インストール後、次のコマンドでGitが使えるか確認します。

git --version

Gitの基本操作

Gitでは、変更したファイルをステージングし、その後コミットとして履歴に記録します。

リポジトリを作成する

git init

このコマンドを実行すると、現在のフォルダがGitで管理されるようになります。

変更状況を確認する

git status

git statusを使うと、どのファイルが変更されたか、どのファイルがステージングされているかを確認できます。

ファイルをステージングする

git add ファイル名

すべての変更をステージングする場合は、次のように入力します。

git add .

コミットする

git commit -m "変更内容の説明"

コミットメッセージには、何を変更したのかを簡潔に書きます。

Gitの基本的な流れ

  1. ファイルを編集する
  2. git statusで変更を確認する
  3. git addで変更をステージングする
  4. git commitで変更履歴として保存する
  5. 必要に応じてリモートリポジトリへ送信する

リモートリポジトリとの連携

GitHubやGitLabなどのリモートリポジトリを使うと、ローカル環境の変更をオンライン上に保存し、他のメンバーと共有できます。

リモートリポジトリを登録する

git remote add origin リポジトリURL

リモートに送信する

git push origin main

このコマンドで、ローカルの変更内容をリモートリポジトリに反映できます。

リモートの変更を取得する

git pull origin main

他のメンバーが行った変更を自分の環境に取り込む場合に使用します。

ブランチを使った開発

ブランチは、作業を分けるための仕組みです。新機能の追加や修正作業をメインのコードから分離して進められます。

新しいブランチを作成する

git checkout -b 新しいブランチ名

メインブランチに戻る

git checkout main

ブランチを統合する

git merge ブランチ名

ブランチを使うことで、作業中の変更がメインのコードに直接影響することを防げます。

GitHubを使ったコラボレーション

GitHubでは、プルリクエストを使ってチーム開発を進めることができます。

プルリクエストは、自分のブランチで行った変更をメインブランチに取り込んでもらうための依頼です。レビューやコメントを通じて、コードの品質を確認しながら開発できます。

プルリクエストの基本的な流れ

  1. 新しいブランチを作成する
  2. 作業を行い、変更をコミットする
  3. ブランチをGitHubにプッシュする
  4. GitHub上でプルリクエストを作成する
  5. レビューを受ける
  6. 承認後、メインブランチにマージする

競合が発生した場合

複数人が同じファイルの同じ箇所を変更した場合、競合が発生することがあります。

競合が発生した場合は、どの変更を残すかを手動で確認し、修正したうえで再度コミットします。

git status
git add .
git commit -m "競合を解消"

Gitでよく使うコマンド

コマンド 内容
git init リポジトリを作成する
git status 変更状況を確認する
git add 変更をステージングする
git commit 変更を履歴として保存する
git push リモートリポジトリへ送信する
git pull リモートリポジトリの変更を取得する
git checkout -b 新しいブランチを作成して切り替える
git merge ブランチを統合する

機械学習プロジェクトでGitを使う際の注意点

  • 大容量のデータセットをそのままGitで管理しない
  • モデルファイルや学習済み重みは必要に応じてGit LFSなどを使う
  • .gitignoreで不要なファイルを管理対象から除外する
  • 実験結果やパラメータは分かりやすく記録する
  • コミットメッセージは後から見ても分かる内容にする

.gitignoreの活用

.gitignoreを使うと、Gitで管理しないファイルを指定できます。

__pycache__/
.env
.ipynb_checkpoints/
*.log
data/
models/

一時ファイル、環境変数ファイル、大容量データなどは、必要に応じてGit管理から除外します。

Gitを使うメリット

  • 変更履歴を残せる
  • 過去の状態に戻せる
  • 複数人で作業しやすい
  • 作業内容をブランチで分けられる
  • GitHubと連携してレビューや共有ができる