gitlab-repo について
gitlab-repoは、glab CLIを使ってGitLabのリポジトリやプロジェクトを管理するスキルです。クローンや検索から移管、削除までを扱い、操作のリスクも示します。
主な機能
- 01リポジトリのクローンとグループ単位の一括取得
- 02リポジトリのフォークと作成
- 03プロジェクトの表示と検索
- 04リポジトリのアーカイブ、削除、移管
- 05リポジトリのコントリビューター一覧
活用シーン
- 01チームのグループリポジトリを一括クローン
- 02上流プロジェクトをフォークして貢献
- 03GitLabプロジェクトを作成またはアーカイブ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ grandcamel/ gitlab-assistant-skills --skill gitlab-repoインストール後、Claude Code で/gitlab-repoを入力して読み込まれたか確認します。
詳細
リポジトリスキル
glab CLI を使用した GitLab のリポジトリおよびプロジェクト操作。
クイックリファレンス
| 操作 | コマンド | リスク |
|---|---|---|
| リポジトリのクローン | glab repo clone <repo> | - |
| リポジトリのフォーク | glab repo fork <repo> | ⚠️ |
| リポジトリの表示 | glab repo view | - |
| リポジトリの作成 | glab repo create | ⚠️ |
| リポジトリの検索 | glab repo search <query> | - |
| リポジトリのアーカイブ | glab repo archive | ⚠️⚠️ |
| リポジトリの削除 | glab repo delete | ⚠️⚠️⚠️ |
| コントリビューターの一覧表示 | glab repo contributors | - |
リスクの凡例:- 安全 | ⚠️ 注意 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危険
このスキルを使用する場面
必ず使用する場合:
- ユーザーがリポジトリのクローン、フォーク、作成を希望している
- ユーザーが「repo」「repository」「project」「clone」「fork」に言及している
- ユーザーがプロジェクト設定の管理を希望している
使用しない場合:
- ユーザーが特定のリポジトリの内容を操作したい場合(git を直接使用してください)
- ユーザーがデプロイキーの管理を希望している場合(gitlab-deploy-key スキルを使用してください)
利用可能なコマンド
リポジトリのクローン
glab repo clone <repo> [directory] [options]
引数:
<repo>- リポジトリのパス、URL、またはプロジェクト ID[directory]- 省略可能なローカルディレクトリ名
オプション:
| フラグ | 説明 |
|---|---|
-g, --group=<group> | グループ内のすべてのリポジトリをクローン |
-p, --preserve-namespace | 名前空間に基づくサブディレクトリにクローン |
-a, --archived=<bool> | アーカイブ済みリポジトリを含める/除外する(-g と併用) |
--paginate | プロジェクトのすべてのページを取得(-g と併用) |
例:
# Clone by path
glab repo clone gitlab-org/cli
# Clone by URL
glab repo clone https://gitlab.com/gitlab-org/cli
# Clone into specific directory
glab repo clone gitlab-org/cli my-glab
# Clone by project ID
glab repo clone 4356677
# Clone preserving namespace structure
glab repo clone gitlab-org/cli -p
# Creates: gitlab-org/cli/
# Clone all repos in a group
glab repo clone -g mygroup --paginate
# Clone only non-archived repos from group
glab repo clone -g mygroup --archived=false --paginate
リポジトリのフォーク
glab repo fork <repo> [options]
オプション:
| フラグ | 説明 |
|---|---|
-c, --clone | 作成後にフォークをクローン |
-n, --name=<name> | フォークしたプロジェクトの名前 |
-p, --path=<path> | フォークしたプロジェクトのパス |
--remote | フォーク用のリモートを追加 |
例:
# Fork a repository
glab repo fork owner/repo
# Fork and clone
glab repo fork owner/repo --clone
# Fork with custom name
glab repo fork owner/repo --name="my-fork"
# Fork and add remote
glab repo fork owner/repo --remote
リポジトリの表示
glab repo view [repo] [options]
オプション:
| フラグ | 説明 |
|---|---|
-w, --web | ブラウザーでリポジトリを開く |
-b, --branch=<branch> | 特定のブランチを表示 |
例:
# View current repository info
glab repo view
# View specific repo
glab repo view gitlab-org/cli
# Open in browser
glab repo view --web
# View specific branch
glab repo view --branch=develop
リポジトリの作成
glab repo create [name] [options]
オプション:
| フラグ | 説明 |
|---|---|
-n, --name=<name> | リポジトリ名 |
-d, --description=<desc> | リポジトリの説明 |
-g, --group=<group> | 指定したグループ/名前空間に作成 |
--public | リポジトリを公開にする |
--private | リポジトリを非公開にする |
--internal | リポジトリを内部公開にする |
--readme | README を初期化する |
-c, --clone | 作成後にクローン |
例:
# Create repository interactively
glab repo create
# Create with name and description
glab repo create my-project -d "My awesome project"
# Create public repo in group
glab repo create my-project --group=myteam --public
# Create and clone
glab repo create my-project --clone --readme
リポジトリの検索
glab repo search <query> [options]
オプション:
| フラグ | 説明 |
|---|---|
-P, --per-page=<n> | 1 ページあたりの結果数 |
--all | すべての結果を取得 |
例:
# Search for repos
glab repo search "cli tools"
# Search with more results
glab repo search "gitlab" --per-page=50
リポジトリのアーカイブ
glab repo archive [repo] [options]
リポジトリをアーカイブします(読み取り専用にします)。
例:
# Archive current repo
glab repo archive
# Archive specific repo
glab repo archive owner/repo
リポジトリの削除
glab repo delete [repo] [options]
警告: リポジトリとそのすべてのデータが完全に削除されます!
オプション:
| フラグ | 説明 |
|---|---|
-y, --yes | 確認プロンプトをスキップ |
例:
# Delete repo (will prompt for confirmation)
glab repo delete owner/repo
# Delete without confirmation (dangerous!)
glab repo delete owner/repo --yes
コントリビューターの一覧表示
glab repo contributors [repo] [options]
オプション:
| フラグ | 説明 |
|---|---|
-P, --per-page=<n> | 1 ページあたりの結果数 |
--order=<order> | 並べ替え順:name、email、commits |
例:
# List contributors for current repo
glab repo contributors
# List with sorting
glab repo contributors --order=commits
リポジトリの移管
glab repo transfer <repo> <new-namespace>
リポジトリを別の名前空間に移管します。
例:
# Transfer to different group
glab repo transfer myrepo newgroup
よくあるワークフロー
ワークフロー 1:フォークしてコントリビュートする
# 1. Fork the repository
glab repo fork upstream/project --clone
# 2. Add upstream remote
cd project
git remote add upstream https://gitlab.com/upstream/project.git
# 3. Create feature branch
git checkout -b feature/my-change
# 4. Make changes, commit, push
git add . && git commit -m "Add feature"
git push -u origin feature/my-change
# 5. Create MR to upstream
glab mr create --target-branch=main
ワークフロー 2:チームのリポジトリをまとめてクローンする
# Clone all non-archived repos from team group
glab repo clone -g myteam --archived=false --paginate -p
# This creates:
# myteam/
# repo1/
# repo2/
# ...
ワークフロー 3:新しいプロジェクトを作成する
# 1. Create the repository
glab repo create awesome-project \
-d "An awesome new project" \
--group=myteam \
--readme \
--clone
# 2. Set up the project
cd awesome-project
# Add initial files...
# 3. View it in browser
glab repo view --web
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| 認証に失敗する | トークンが無効または期限切れ | glab auth login を実行 |
| リポジトリが見つからない | パスが無効、またはアクセス権がない | リポジトリのパスと権限を確認 |
| クローンに失敗する | SSH キーが設定されていない | HTTPS を使用するか、SSH キーを設定 |
| フォークできない | すでにフォーク済み、または権限がない | 既存のフォークを確認 |
| 削除できない | オーナーまたはメンテナーではない | オーナーに削除を依頼 |
Related Documentation
コメント
Markdown 対応