今日は開発の進捗から一歩話を逸らして,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で動かす場合もこの構成で十分連携可能