🧱 基本操作
操作 |
コマンド例 |
説明 |
リポジトリ初期化 |
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