前置き
二段階認証が追加/アカウントの変更、など諸々あって暫くWebしかアクセスしていなかったんだが、いよいよVSCodeのTerminalからアクセスしなければならずさてやるかと思ったら、最初のgit cloneの時点でremote: Repository not found.
が出て全く上手くいかない。
認証系が不味いのはわかっていて、巷ではgit for windowsを入れてcredencial helperを使えみたいな話ばかり出てくるのだが、私はWSLからsudo apt install git
でインストールしているので、git for windowsなんて使いたくなかったんだよ。
あとSSHも諸事情により使えないのでhttpsでなんとかするのを考えなければならない。
というわけで数日方式を探っていた。
対応案
git clone https://{ユーザ名}:{トークン}@github.com/ponsuke/repository.git
これだねー。私の探し方がまずかったのか全然見つからないんだけど。
というわけで満を持してトライしてみる。
尚、この際に必要となる個人用アクセストークンの払い出しはこちら。
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
試してみた。
hogehoge@TAB:~/git$ git clone https://{user}:{token}@github.com/{organization}/tekitou-app.git
Cloning into 'tekitou-app'...
remote: The '{organization}' organization has enabled or enforced SAML SSO.
remote: To access this repository, visit https://github.com/enterprises/{organization}/sso?authorization_request=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX and try your request again.
fatal: unable to access 'https://github.com/{organization}/tekitou-app.git/': The requested URL returned error: 403
ここで、アクセスしろと言われたgithubのWebにアクセスし、二段階認証を実施する。
そしてCloneしてみると…。
hogehoge@TAB:~/git$ git clone https://{user}:{token}@github.com/{organization}/tekitou-app.git
Cloning into 'tekitou-app'...
remote: Enumerating objects: 8201, done.
remote: Counting objects: 100% (2585/2585), done.
remote: Compressing objects: 100% (363/363), done.
remote: Total 8201 (delta 2443), reused 2291 (delta 2222), pack-reused 5616
Receiving objects: 100% (8201/8201), 3.86 MiB | 2.84 MiB/s, done.
Resolving deltas: 100% (6068/6068), done.
やったね!