GitHubでアクセストークンを使ってプライベートリポジトリのclone、pushを行いたかったのですが、設定に詰まったのでそのメモです。
GitHubのアクセストークンの生成方法
まず、GitHubのアクセストークンの作り方ですが、かなりわかりにくいところにありました。自分のアカウントのマークを押して、「Settings」を押します。そしたら、一番下に「Developer settings」というのがあるのでそれをクリックします。
つぎに、「Personal access tokens」という項目があり、これを押すと、「Fine-grained tokens」と「Tokens (classic)」の二つの種類のトークンが生成できます。
ここで、「Fine-grained tokens」が何かわからなかったので、chatGPTに聞いてみると、
Q. GitHubのFine-grained Tokenとは?
Fine-grained Personal Access Token (細分化されたパーソナルアクセストークン) は、GitHubが従来のPersonal Access Token (PAT) に代わるセキュリティ強化型のトークンです。2022年以降に導入され、従来のトークンよりも 詳細な権限設定 と リポジトリ単位のアクセス制御 が可能です。
だそうです。これを使おうかと思ったのですが、詳細な権限設定がめんどくさそうだったので、今回は「Tokens (classic)」の方を使いました。
「Tokens (classic)」の場合は下のように「repo」の項目をクリックすればプライベートリポジトリにフルアクセスできるようです。
そのあと、下のGenerateのボタンを押すとアクセストークンが生成できます。ここで、tokenをコピーしないともう二度と見れなくなるので気をつけて下さい。
アクセストークンの使い方
アクセストークンを使ってcloneするには、以下のようにURLにトークンを入れます。
git clone https://{アクセストークン}@github.com/{ユーザ名}/{リポジトリ名}
また、既存のリポジトリをpushするには、次のようにリモートのURLを設定します。
git remote set-url origin https://{アクセストークン}@github.com/{ユーザ名}/{リポジトリ名}
これでcloneとpushできました。
pushしてからパスワードがわりにアクセストークンを入れる方法があるみたいですが、自分はうまくいきませんでした。
今回は、一つのリポジトリだけ共有したかったのでこれでいいですが、すべてのリポジトリに適用する設定とかもあるんですかね?
コメント