開発環境

🚀 Git & GitHub ワークフロー(Mac ⇔ Linux 開発環境共有)

今日は開発の進捗から一歩話を逸らして,MacとLinux間でのAI開発や画像処理プロジェクトを快適に同期するための、Git & GitHub ワークフローをまとめました。

🔑 1. SSH鍵の作成とGitHub設定

# SSH鍵を作成(すでにある場合はスキップ可)
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"

# 公開鍵の表示(コピーしてGitHubに貼り付け)
cat ~/.ssh/id_rsa.pub

GitHub → Settings → SSH and GPG keys → 「New SSH key」で貼り付け

🧰 2. Git ユーザー情報の設定(初回のみ)

git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"

📁 3. プロジェクトの初期化と .gitignore 作成

cd kuruma-ai  # プロジェクトディレクトリへ移動
git init      # Git初期化

.gitignore の例

# 仮想環境・キャッシュ・大容量ファイル除外
venv/
__pycache__/
*.mp4
*.pth
data/

🔗 4. GitHub リポジトリの接続

git remote add origin git@github.com:your-username/kuruma-ai.git

📤 5. ファイルを登録して push

git add .
git commit -m "Initial commit"
git push -u origin main

🧼 エラー対策:容量超過時(pack exceeds 2.0GB)

# .gitignore に除外対象を追加し、キャッシュからも削除
git rm -r --cached data/
git rm --cached model.pth

# 再度 add → commit → push
git add .
git commit -m "Removed large files"
git push -u origin main




🔄 6. Mac ⇔ Linux 同期

✅ Mac から Linux に転送(例)

scp -r ./kuruma-ai shu@192.168.0.100:/home/shu/

✅ Linux 側で clone

git clone git@github.com:your-username/kuruma-ai.git

🖥️ Git 確認コマンド

git status                # 変更確認
git log --oneline -n 3    # 最新3件のログ

🔐 SSHショートカット設定(~/.ssh/config)

Host linux-ai
    HostName 192.168.0.100
    User shu
    IdentityFile ~/.ssh/id_rsa

ポイント

  • .gitignore の整備が最重要:仮想環境やデータ類は共有しない
  • .ssh/config を使って ssh linux-ai で接続を簡略化
  • Dockerで動かす場合もこの構成で十分連携可能
ABOUT ME
Wan(わん)
AI開発を趣味として楽しんでいるエンジニアです。画像認識や予測分析、生成AIなど幅広い分野に関心があり、日々さまざまな技術に触れながら試行錯誤しています。このブログ「DeepLogics」では、自分が学んだこと・作ったもの・気づいたことを、開発の記録として発信していきます。 実験的なプロジェクトから実務に応用できそうな技術まで、実際に手を動かして体得した情報をシェアしていきます!