ROS2 C++ プロジェクト チーム開発運用マニュアル#
目次#
- リポジトリ作成・初期化
- Raspberry Pi 側でのセットアップ
- SSH鍵の生成とGitHub登録
- リモートリポジトリのクローン
- リポジトリ初期コミット
- .gitignoreの設定例
- コミット・pull・pushの基本手順
- ブランチ運用とPull Request
- トラブルシューティング
- 運用ルールまとめ
リポジトリ作成・初期化#
1.1 GitHubでリポジトリを新規作成#
- GitHubにログインし、「New repository」をクリック。
- Repository name を入力(例:
robot-control) - 「Initialize this repository with a README」はチェックを外す(空リポジトリ推奨)
- Public / Private を選択
- 作成後、リポジトリのSSHまたはHTTPS URLを控える。
Raspberry Pi 側でのセットアップ#
2.1 Gitのインストール(初回のみ)#
sudo apt update
sudo apt install git
````
### 2.2 ユーザー情報の設定(初回のみ)
```bash
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
SSH鍵の生成とGitHub登録#
3.1 新しいSSH鍵を作成#
3.2 公開鍵の確認とGitHub登録#
- GitHub → 右上アイコン → Settings → SSH and GPG keys → New SSH key
- Titleは自由、Key欄にコピーした公開鍵を貼り付け、「Add SSH key」
リモートリポジトリのクローン#
4.1 プロジェクトの保存先ディレクトリに移動#
4.2 クローン#
リポジトリ初期コミット#
5.1 プロジェクトファイルの配置#
(例:include, src, CMakeLists.txtなどをこのディレクトリ直下に配置)
5.2 .gitignoreの作成#
5.3 最初のコミットとpush#
.gitignoreの設定例#
コミット・pull・pushの基本手順#
7.1 作業前のpull(他人の更新を取得)#
7.2 ファイルの編集#
(VSCodeでリモート接続し編集推奨)
7.3 変更の確認#
7.4 変更の追加#
7.5 コミット#
7.6 push#
ブランチ運用とPull Request#
8.1 新規ブランチの作成#
8.2 変更内容のpush#
8.3 Pull Requestの作成#
- GitHubでリポジトリページを開く
feature/xxxxブランチで「Compare & pull request」をクリック- レビューを受け、承認されたらmainにマージ
8.4 mainブランチの更新をpull#
トラブルシューティング#
SSHの「Permission denied (publickey)」エラーが出た場合#
- 鍵を作成し直して、**ユーザーの「SSH and GPG keys」**に再登録すること
- Deploy key(読み取り専用)に登録しないこと
「project」ディレクトリごとpushしてしまった場合#
- 必要ならGitHubのリポジトリを一度削除し、ディレクトリ直下に
includeやsrcがある形で再pushする
SSH初回接続時の「authenticity of host」メッセージ#
- フィンガープリントがGitHub公式と一致していれば
yesでOK
運用ルールまとめ#
- コミット・push/pullは必ずRaspberry Pi上で統一して実行
- mainブランチに直接push禁止、必ずfeatureブランチ→Pull Requestで運用
- 作業前は必ずpullして最新化
- コンフリクトが出た場合は落ち着いて
git status/git diffで内容を確認し、修正すること - .gitignoreを守り、ビルド生成物や不要ファイルはリポジトリに含めない
- README.md等にセットアップ手順、ルール、トラブル事例を随時追記する
よく使うGitコマンドまとめ#
| コマンド | 意味 |
|---|---|
| git pull origin main | リモートmainを取得して手元のmainに反映 |
| git checkout -b feature/xxx | 新しいブランチを作ってそのまま切り替え |
| git add . | 変更した全てのファイルを追加 |
| git commit -m "コメント" | 追加分をコミット(コメントは必ずつける) |
| git push origin feature/xxx | 今のブランチをリモートへアップロード |
| git checkout main | mainブランチに戻る |
| git branch | 今存在するブランチ一覧を表示 |
| git status | 今の変更状況を確認 |