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