RaspberryPi[73] OneDrive+ローカルGitで複数PC開発環境を構築

経緯

これまでOneDriveでソースを同期し、複数PCで開発を行っていましたが、先祖返りなどもあり、毎回コピーを残していく運用はあまり美しいものではありませんでした。とはいえGitHubを使うのは少し大げさに感じたため、履歴管理(バージョン管理)を目的にローカルGitを導入しました。GitHub等のサーバは使わず、OneDriveを“運び屋”として履歴ごと同期する構成としています。一人開発であれば、これで十分だと思います。

■Gitのインストール Windowsは https://git-scm.com/download/win からインストール。基本はNext連打でOK。PATH設定も「Git from the command line…」のままでOK。インストール後はコマンドプロンプトを開き直し git --version で確認します。

■リポジトリ初期化(XINGを例) XINGフォルダ直下に .gitignore を作成し、生成物・ログ・音声などを除外します。例:bin/ obj/ .vs/ DATA/ NMEA/ BAK/ MP3/ などを除外。名前は変更できません。

その後XINGフォルダで git init → git add . → git commit -m "init: XING baseline" を実行し初期スナップショットを作成します。初回コミット時に作者情報を求められた場合は git config --global user.name "mack" と git config --global user.email "mack@example.com" を設定。

# =========================
# XING monorepo .gitignore
# =========================

# OS junk
.DS_Store
Thumbs.db
Desktop.ini

# Editor/IDE
.vscode/
*.code-workspace
.idea/
*.swp
*.swo
*~

# Visual Studio
.vs/
*.user
*.suo
*.userosscache
*.sln.docstates
*.VC.db
*.VC.VC.opendb

# .NET / VB build outputs
**/bin/
**/obj/
*.dll
*.exe
*.pdb
artifacts/
TestResults/
**/packages/

# WebView2 cache
**/WebView2Cache/
**/EBWebView/
**/msedgewebview2/

# C/C++ build outputs
*.o
*.a
*.so
*.out
*.elf
*.hex
*.map
*.d

# Python/Perl temp
__pycache__/
*.pyc
*.log
*.tmp
*.bak

# Secrets (protect!)
*.key
*.pem
*.p12
*.pfx
*.env
.env.*
secrets/
secret/
config.secret*
*password*
*passwd*
*token*

# KiCad temp / outputs
*~
*.bak
*.kicad_pcb-bak
*.kicad_sch-bak
_autosave-*
fp-info-cache
**/Gerber*/
**/*.gbr
**/*.drl
**/*.pos
**/*.step
**/*.stp

# --- XING runtime / generated / assets ---
DATA/
NMEA/
BAK/
MP3/
ROSEN/

その後、下記コマンドを必ずカレントで設定すること。

git init

git status

git add .

git config --global user.name "mack"

git config --global user.email "mack@example.com"

git commit -m "init: XING baseline"

■OneDriveとの併用 Gitはフォルダ内の .git に履歴を保持するため、OneDriveに置けば履歴ごと同期されます。自宅PCでcommit→OneDrive同期→職場PCで同じ履歴が見えることになります。これで、Gitサーバ無しで複数PC開発が可能になります。

■日常の使い方 開発は従来通りソースを編集・ビルド・実行するだけ。開発区切りで git add . と git commit -m "内容" を実行。作業前コミットを行うと安全に実験できる。

■Gitに入れないものの方針 再生成できるデータ(ログ・NMEA・ビルド生成物)はGitに入れない。容量が大きく履歴価値の低い素材(MP3など)も除外する。Gitは設計・コード・設定のみ管理するのが基本。

■複数PC運用の注意 同時に2台で同じリポジトリを編集しない。一人開発なら普通そうなるので問題ないと思います。片方で作業→IDEを閉じる→OneDrive同期完了→次のPCという順番を守る。

■導入効果 フォルダコピーによるバージョン管理が不要になり、過去状態への復元が容易に。小規模・個人開発ではOneDrive+ローカルGitで十分実用的かなと思う。

日常運用


■git commit -m "init: XING baseline" 現在の状態を最初の保存ポイントとして履歴に記録する。
■git log --oneline -3 最近のコミット履歴を簡潔に確認する。初期化成功の確認。
■日常運用 git status → 編集 → git add . → git commit -m "内容" の流れで履歴を積み上げる。
■復元(未コミット) git checkout . 作業前状態に戻す。実験失敗時の復旧手段。