マネキンについて
GitHub Enterprise Importer を使って移行を実行した後、移行されたリポジトリでのすべてのユーザー アクティビティ (Git コミットを除く) は、マネキンと呼ばれるプレースホルダー ID に帰属します。
各マネキンには表示名のみが含まれており、その名前はソース リポジトリの表示名に基づきます。 マネキンには、組織のメンバーシップやリポジトリへのアクセス権はありません。 マネキンは常に同じアバター (ゴースト オクトキャット) を使用し、表示名の後にはマネキン ラベルが含まれます。
GitHub CLI またはブラウザーを使用して、各マネキンの履歴を組織のメンバーにもう一度帰属させることができます。 GitHub CLI を使う場合は、マネキンを一括して回収できます。
回収は省略可能であり、移行が完了した後にいつでも行うことができます。 このため、回収前に、移行されたリポジトリでチームが作業を開始できるようにすることができます。
マネキンは、Git コミット属性には使用されません。 コミット属性について詳しくは、以下の「Git コミットの作成者を管理する」を参照してください。
マネキンの回収
マネキンは、GitHub CLI (推奨) またはブラウザーを使用して回収できます。
既定では、マネキンを回収すると、ターゲット ユーザーに属性の招待が送信されます。
ターゲット ユーザーは、招待の承諾または拒否を選択できます。 ターゲット ユーザーが属性の招待を受け入れると、それまでマネキンに帰属していたすべてのコントリビューションは、代わりにそのユーザーに帰属します。 同じ組織への今後の移行では、同じマネキンからのコントリビューションはすべて、同じユーザーに対して自動的に回収されます。
組織で Enterprise Managed Users を使用している場合、GitHub CLI を使用してマネキンを回収することを選択すると、必要に応じて招待プロセスをスキップし、ユーザーの承認なしにマネキンをすぐに回収できます。
注:
- リポジトリを別の組織に移譲した後、マネキンを回収することはできません。 移行後にリポジトリを別の組織に移譲したい場合は、移譲前にマネキンを回収する必要があります。
- マネキンを回収する場合は、既存の組織メンバーのみを対象にすることができます。 マネキンを回収する前に、招待する GitHub ユーザーが Organization に既に追加されていることを確認します。
GitHub Enterprise Importer では、ユーザー アクセスはリポジトリに移行されません。 マネキンを回収した後、いずれかのユーザーがチーム メンバーシップを介してリポジトリへの適切なアクセス権をまだ持っていない場合、ユーザーにリポジトリへのアクセス権を個別に付与する必要があります。 詳細については、「Organization のリポジトリへの個人のアクセスを管理する」を参照してください。
GitHub CLI (推奨) を使用してマネキンを回収する
GitHub CLI を使用して、マネキンを個別にまたは一括で回収できます。 GitHub CLI の移行拡張機能のインストールと更新について詳しくは、「GitHub Enterprise Importer について」を参照してください。
使用する必要がある正確なコマンドは、使用している GitHub CLI の拡張子によって異なります。
GEI extension
を使用してマネキンを回収する
移行元が GitHub 製品の場合、GEI extension of the GitHub CLI を使用してマネキンを回収できます。
移行先の Organization にアクセスできる personal access token に設定された GH_PAT
環境変数がまだない場合は、以下の各コマンドに --github-target-pat TOKEN
を追加し、TOKEN
を personal access token に置き換えます。personal access token の要件については、「GitHub 製品間の移行のためのアクセスの管理」を参照してください。
-
マネキンを一括回収する必要がある場合は、マネキンを Organization のメンバーにマップする CSV ファイルを作成します。
-
Organization のマネキンのリストを含む CSV ファイルを生成するには、DESTINATION を移行先の組織に置き換え、FILENAME を、生成する CSV ファイルのファイル名に置き換えて、
gh gei generate-mannequin-csv
コマンドを使用します。必要に応じて、既に回収されているマネキンを含めるには、
--include-reclaimed
フラグを追加します。Shell gh gei generate-mannequin-csv --github-target-org DESTINATION --output FILENAME.csv
gh gei generate-mannequin-csv --github-target-org DESTINATION --output FILENAME.csv
-
CSV ファイルを編集して、各マネキンに対応する Organization のメンバーのユーザー名を追加します。
-
ファイルを保存します。
-
-
マネキンを回収するには、
gh gei reclaim-mannequin
コマンドを使用します。-
前に作成したマッピング ファイルを使ってマネキンを一括回収するには、DESTINATION を移行先の Organization に置き換え、FILENAME をマッピング ファイルのファイル名に置き換えます。
Shell gh gei reclaim-mannequin --github-target-org DESTINATION --csv FILENAME.csv
gh gei reclaim-mannequin --github-target-org DESTINATION --csv FILENAME.csv
-
個々のマネキンを回収するには、DESTINATION を移行先組織、MANNEQUIN をマネキンのログイン、USERNAME をマネキンに対応する Organization メンバーのユーザー名に、それぞれ置き換えます。
同じログインを持つ複数のマネキンがある場合は、
--mannequin-user MANNEQUIN
を--mannequin-ID ID
に置き換え、ID をマネキンの ID に置き換えることができます。組織で Enterprise Managed Users を使用していて、マネキンをすぐに再要求するために属性の招待をスキップする場合は、
--skip-invitation
引数を追加します。Shell gh gei reclaim-mannequin --github-target-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
gh gei reclaim-mannequin --github-target-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
-
デフォルトでは、組織のメンバーはメールで招待を受け取り、メンバーが招待を受け入れるまでマネキンは再要求されません。
ADO2GH extension
を使用してマネキンを回収する
移行元が Azure DevOps の場合は、ADO2GH extension of the GitHub CLI を使用してマネキンを回収できます。
移行先の Organization にアクセスできる personal access token に設定された GH_PAT
環境変数がまだない場合は、以下の各コマンドに --github-target-pat TOKEN
を追加し、TOKEN
を personal access token に置き換えます。personal access token の要件については、「Azure DevOps からの移行のアクセスの管理」を参照してください。
-
マネキンを一括回収する必要がある場合は、マネキンを Organization のメンバーにマップする CSV ファイルを作成します。
-
Organization のマネキンのリストを含む CSV ファイルを生成するには、DESTINATION を移行先の組織に置き換え、FILENAME を、生成する CSV ファイルのファイル名に置き換えて、
gh ado2gh generate-mannequin-csv
コマンドを使用します。必要に応じて、既に回収されているマネキンを含めるには、
--include-reclaimed
フラグを追加します。Shell gh ado2gh generate-mannequin-csv --github-org DESTINATION --output FILENAME.csv
gh ado2gh generate-mannequin-csv --github-org DESTINATION --output FILENAME.csv
-
CSV ファイルを編集して、各マネキンに対応する Organization のメンバーのユーザー名を追加します。
-
ファイルを保存します。
-
-
マネキンを回収するには、
gh ado2gh reclaim-mannequin
コマンドを使用します。-
前に作成したマッピング ファイルを使ってマネキンを一括回収するには、DESTINATION を移行先の Organization に置き換え、FILENAME をマッピング ファイルのファイル名に置き換えます。
Shell gh ado2gh reclaim-mannequin --github-org DESTINATION --csv FILENAME.csv
gh ado2gh reclaim-mannequin --github-org DESTINATION --csv FILENAME.csv
-
個々のマネキンを回収するには、DESTINATION を移行先組織、MANNEQUIN をマネキンのログイン、USERNAME をマネキンに対応する Organization メンバーのユーザー名に、それぞれ置き換えます。
同じログインを持つ複数のマネキンがある場合は、
--mannequin-user MANNEQUIN
を--mannequin-ID ID
に置き換え、ID をマネキンの ID に置き換えることができます。組織で Enterprise Managed Users を使用していて、マネキンをすぐに再要求するために属性の招待をスキップする場合は、
--skip-invitation
引数を追加します。Shell gh ado2gh reclaim-mannequin --github-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
gh ado2gh reclaim-mannequin --github-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
-
デフォルトでは、組織のメンバーはメールで招待を受け取り、メンバーが招待を受け入れるまでマネキンは再要求されません。
ブラウザーでマネキンを回収する
-
GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
-
組織の隣の [設定] をクリックします。
-
サイドバーの [アクセス] セクションで、 [インポート/エクスポート] をクリックします。
-
回収するマネキンの右側にある [再帰属] をクリックします。
-
検索フィールドに、マネキンのコントリビューションを帰属させる Organization メンバーのユーザー名を入力し、そのメンバーをクリックします。
注: 帰属の招待は、既に Organization のメンバーであるユーザー アカウントにのみ送信できます。
-
[招待] をクリックします。 デフォルトでは、組織のメンバーはメールで招待を受け取り、メンバーが招待を受け入れるまでマネキンは再要求されません。
帰属の招待の状態を表示する
Organization のすべての帰属の招待について、その状態を表示できます。
- 招待済み: ユーザーは招待を受け取りましたが、まだ返信していません。
- 完了: ユーザーが承諾したか、招待プロセスがスキップされました。 ユーザーの投稿が再送されました。
- 拒否: ユーザーは、マネキンのコントリビューションに対してクレジットを与えないことを選択しました。
-
GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
-
組織の隣の [設定] をクリックします。
-
サイドバーの [アクセス] セクションで、 [インポート/エクスポート] をクリックします。
-
[ インポート/エクスポート] で、 [帰属の招待] をクリックします。
Git コミットの作成者を管理する
Git コミットの作成者は、マネキンに関連付けられていないので、マネキンを回収することで GitHub ユーザーに帰属させることはできません。 代わりに、コミット作成者は、Git でのコミットの作成に使用されたメール アドレスに基づいて、GitHub 上のユーザー アカウントに帰属します。
多くの場合、ユーザーは GitHub 上のユーザー アカウントにコミットの作成に使用するメール アドレスを追加することで、コミットを自分自身にもう一度帰属させることができます。 詳しくは、「GitHub アカウントへのメールアドレスの追加」を参照してください。
ただし、Enterprise Managed Users を使用する場合、ユーザーは GitHub のユーザー アカウントにメール アドレスを追加できないため、Git コミットをもう一度帰属させることはできません。 ID プロバイダー (IdP) のユーザーのプライマリ メール アドレスによって作成されたコミットのみが、マネージド ユーザー アカウント に帰属されます。
さらに、GitHub で指定された noreply
メール アドレスによって作成されたコミットは、ユーザー アカウントに noreply
メール アドレスを手動で追加できないため、もう一度帰属させることはできません。 詳しくは、「コミットメールアドレスを設定する」を参照してください。