1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHubリポジトリのラベルを別のリポジトリにコピーしたい!

Posted at

GitHubの画面上から操作できないことでも、CLIツールからなら操作できる場合があって便利だったので記事にしました。

概要

やりたいこと

新しくGitHubのリポジトリを作成するにあたって、ラベルを1つずつ作っていくのは手間なので既存のリポジトリからコピーしたい。

調べて分かったこと

  • ブラウザからの操作では、そのような機能は無さそう
  • GitHub CLI という公式のコマンドラインツールが用意されている
    • CLIならやりたいことができそう

ざっくり手順

  1. GitHub CLIをインストールする
  2. ターミナル上でログインする
    gh auth login
  3. ラベルをコピーする
    gh label clone <コピー元リポジトリ>

詳しい手順

1. GitHub CLIをインストールする

cli/cli: GitHub’s official command line tool

  1. 公式リポジトリREADME > Installation に従って gh をインストールする
  2. バージョン確認
    ❯ gh --version
    gh version 2.23.0 (2023-02-08)
    https://github.com/cli/cli/releases/tag/v2.23.0
    

2. ターミナル上でログインする

Manual | GitHub CLI

認証方法は以下の2種類ありますが、私の場合はWSLかつGUIなしの環境のため、この記事ではauthentication tokenを使う方法で進めています。

  • Login with a web browser
  • Paste an authentication token
  1. Personal access tokensを発行しておく
    • scopeは 'repo', 'read:org', 'workflow' を選択する

      The minimum required scopes are 'repo', 'read:org', 'workflow'.

  2. gh auth login を実行し、ダイアログに従って選択/入力する
    ❯ gh auth login
    ? What account do you want to log into? GitHub.com
    ? What is your preferred protocol for Git operations? HTTPS
    ? Authenticate Git with your GitHub credentials? Yes
    ? How would you like to authenticate GitHub CLI? Paste an authentication token
    Tip: you can generate a Personal Access Token here https://github.com/settings/tokens
    The minimum required scopes are 'repo', 'read:org', 'workflow'.
    ? Paste your authentication token: ****************************************
    - gh config set -h github.com git_protocol https
    ✓ Configured git protocol
    ✓ Logged in as yocajii
    

3. ラベルをコピーする

GitHub CLI > gh label clone

  1. コピー先のローカルリポジトリがあるディレクトリに移動する
  2. gh label clone <アカウント名/リポジトリ名>
    ~/work/sawara
    ❯ gh label clone yocajii/hamattimer
    ✓ Cloned 15 labels from yocajii/hamattimer to yocajii/sawara
    

えっ?これで本当にコピーできたの?と半信半疑でGitHubのリポジトリを確認したところ、ばっちりラベルが増えていました。

←コピー元:コピー先→
image.png

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?