おまけ / 作業中に参照する早見表
よく使うコマンド
コマ2以降の開発では、Git で変更を管理し、Docker で実行環境を扱い、SSH で標的や開発環境に接続する。 ここでは、作業中によく使うコマンドだけを用途別にまとめる。
迷ったら、まず「今どこにいるか」「何を変更したか」「どの環境で実行しているか」を確認する。 その確認に使うコマンドを先に覚えると、トラブルの切り分けが速くなる。
A1Git — 変更を確認し、記録する
Git は、ファイルの変更履歴を管理する道具。開発中は「何を変えたか」「どこまで戻れるか」を常に確認できるようにする。
| やりたいこと | コマンド | 見るところ |
|---|---|---|
| リポジトリを取得する | git clone <url> | GitHub などから作業用ディレクトリを作る |
| 今の状態を見る | git status | 変更済み・追加済み・未追跡のファイルを確認する |
| 差分を見る | git diff | まだステージしていない変更を見る |
| ステージ済みの差分を見る | git diff --staged | 次のコミットに入る内容を見る |
| 変更をステージする | git add <file> | コミットに含めるファイルを選ぶ |
| コミットする | git commit -m "message" | 変更を履歴として記録する |
| 履歴を見る | git log --oneline --graph | 最近のコミットと分岐を見る |
| ブランチを見る | git branch | 今いるブランチに * が付く |
| ブランチを作って移動する | git switch -c <name> | 作業単位ごとにブランチを分ける |
| 別ブランチへ移動する | git switch <name> | 未コミットの変更があると移動できないことがある |
| リモートへ送る | git push | GitHub などに自分のコミットを送る |
| リモートから取る | git pull | 他の人の変更を取り込む |
基本の流れ
# 0. リポジトリを取得する
git clone https://github.com/example/repo.git
cd repo
# 1. 変更状況を見る
git status
# 2. 差分を確認する
git diff
# 3. コミットに含める
git add src/agent.py
# まとめてステージする場合
git add .
# 4. ステージ済みの差分を確認する
git diff --staged
# 5. 記録する
git commit -m "Improve recon prompt"
# 6. リモートへ送る
git push
.env、API トークン、VPN プロファイル、秘密鍵はコミットしない。
git add . は便利だが、不要なファイルもまとめて入る。
git status と git diff --staged を見てからコミットする。
A2Docker — 実行環境を起動し、確認する
Docker は、アプリケーションを決まった環境で動かすための道具。手元の OS に依存しない実行環境を作れる。 本ゼミでは、テンプレート実装や補助サービスを動かすときに使う。
| やりたいこと | コマンド | 見るところ |
|---|---|---|
| 起動中のコンテナを見る | docker ps | コンテナ名、ポート、状態を確認する |
| 停止中も含めて見る | docker ps -a | 終了したコンテナや失敗した起動を確認する |
| イメージを見る | docker images | 手元にあるイメージ名とタグを見る |
| ログを見る | docker logs <container> | 起動エラーやアプリの出力を見る |
| コンテナの中に入る | docker exec -it <container> sh | 中でファイルや環境変数を確認する |
| コンテナを止める | docker stop <container> | 実行中のコンテナを停止する |
| コンテナを削除する | docker rm <container> | 停止済みのコンテナを削除する |
| イメージを作る | docker build -t <name> . | 今のディレクトリの Dockerfile から作る |
| コンテナを起動する | docker run --rm -it <image> | --rm は終了時にコンテナを削除する |
docker compose を使う場合
# 起動する
docker compose up
# バックグラウンドで起動する
docker compose up -d
# ログを見る
docker compose logs -f
# 停止する
docker compose down
# イメージを作り直して起動する
docker compose up --build
まず docker ps で起動しているかを見る。起動していなければ docker ps -a と
docker logs を見る。ポートが合わない場合は、PORTS の列とアプリ側の設定を照合する。
A3SSH — リモート環境に接続する
SSH は、別のマシンへ安全にログインしてコマンドを実行するための道具。 標的へのログイン、踏み台環境、開発用サーバへの接続で使う。
| やりたいこと | コマンド | 見るところ |
|---|---|---|
| ユーザ名を指定して接続する | ssh user@host | user はログイン先のユーザ名 |
| ポートを指定する | ssh -p 2222 user@host | 標準は 22 番。違う場合だけ指定する |
| 秘密鍵を指定する | ssh -i key.pem user@host | 鍵ファイルの権限が緩いと拒否される |
| 接続の詳細を見る | ssh -v user@host | 認証や鍵選択で詰まったときに使う |
| ファイルを送る | scp file user@host:/tmp/ | ローカルからリモートへコピーする |
| ファイルを取る | scp user@host:/tmp/file . | リモートからローカルへコピーする |
| ポートフォワードする | ssh -L 8080:127.0.0.1:80 user@host | 手元の 8080 を接続先の 80 に転送する |
鍵を使うときの基本
# 鍵ファイルの権限を絞る(Linux / macOS / WSL)
chmod 600 key.pem
# 鍵を指定して接続する
ssh -i key.pem user@172.30.0.24
# 接続できないときは詳細ログを見る
ssh -v -i key.pem user@172.30.0.24
Permission denied は、ユーザ名・鍵・パスワード・接続先のいずれかが違うときに出る。
まず ssh -v で、どの鍵を試しているか、どの認証方式で失敗しているかを見る。
*最初に実行する確認コマンド
Git
git status
今どのファイルを変更しているかを見る。
Docker
docker ps
コンテナが動いているかを見る。
SSH
ssh -v user@host
接続できない理由を詳しく見る。