🧱 基本操作
| 操作 |
コマンド例 |
説明 |
| リポジトリ初期化 |
git init |
ローカルGit開始 |
| クローン |
git clone URL |
GitHubからコピー |
| ステージ |
git add . |
変更を登録 |
| コミット |
git commit -m "msg" |
履歴を記録 |
| プッシュ |
git push origin main |
GitHubに送信 |
| プル |
git pull origin main |
GitHubから取得 |
| ステータス確認 |
git status |
現在の状態確認 |
| ログ表示 |
git log |
履歴の確認 |
🌿 ブランチ関連
| 操作 |
コマンド例 |
説明 |
| ブランチ作成 |
git branch feature-x |
新機能ブランチ作成 |
| ブランチ移動 |
git checkout feature-x |
ブランチに移動 |
| 作成+移動 |
git checkout -b feature-x |
同時に作成 |
| ブランチ一覧 |
git branch |
ローカルブランチ一覧 |
| 削除 |
git branch -d feature-x |
マージ済み削除 |
🏷 タグ(Tag)関連
| 操作 |
コマンド例 |
説明 |
| 軽量タグ作成 |
git tag v1.0.0 |
単純な目印 |
| 注釈付きタグ |
git tag -a v1.0.0 -m "msg" |
メタ情報付き |
| 特定コミットにタグ |
git tag v1.0.0 <commit> |
任意の位置にタグ |
| タグ一覧 |
git tag |
すべてのタグ表示 |
| タグの詳細 |
git show v1.0.0 |
内容確認 |
| タグ削除 |
git tag -d v1.0.0 |
ローカル削除 |
| タグをPush |
git push origin v1.0.0 |
リモート送信 |
| すべてPush |
git push origin --tags |
全タグ送信 |
📦 GitHubリリース
| 操作 |
方法 |
説明 |
| リリース作成 |
GitHub上「Releases」→「Draft a new release」 |
GUIでタグと説明 |
| アセット添付 |
同画面でzip等添付 |
実行ファイルなど添付可 |
| 自動リリース生成 |
GitHub Actions(後述) |
自動タグ・生成化可 |
🚀 GitHub ActionsとCI/CD連携(概要)
| 操作 |
説明 |
.github/workflows/*.yml 作成 |
CI/CD定義ファイル置き場 |
on: push / on: release
|
トリガー条件指定(タグ/ブランチなど) |
jobs: セクション |
実行するジョブを定義(ビルド/テスト等) |
uses: アクション使用 |
公式・サードパーティーアクション |
| 環境変数 |
secrets.GITHUB_TOKEN などで保護付き実行 |
例:
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build & Release
run: echo "リリース処理"
🧰 その他便利機能
| 操作 |
コマンド |
説明 |
| スタッシュ |
git stash |
作業中断・一時保存 |
| スタッシュ復元 |
git stash apply |
退避を戻す |
| 差分比較 |
git diff |
変更確認 |
| リモート確認 |
git remote -v |
接続先確認 |
| 強制プッシュ |
git push -f |
強制上書き(慎重に) |
| HEAD戻し |
git reset --hard HEAD~1 |
コミット取り消し |
| revert |
git revert <commit> |
取り消しコミット追加 |
🧪 応用系
| シナリオ |
操作例 |
| バージョンごとに配布物生成 |
タグ → GitHub Releaseに自動アップロード |
| テスト失敗時にSlack通知 |
GitHub Actions + Slack Webhook |
| 複数環境デプロイ |
matrix構文でマルチジョブ |
| PR作成時にLinter/CI走らせる |
on: pull_request + CIステップ |
| コンテナ自動ビルド |
docker build + docker push 連携 |
気が向いたらGitHub Actions連携とかまとめても面白そうですね
Discussion