スクリプト内で、oauthトークンを使用してGithubリポジトリを複製しようとしています。
このチュートリアルによると:
https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth
次のようなコマンドを作成できるはずです。
git clone https://<token>@github.com/owner/repo.git
適切なアクセストークンを使用してこれを手動で試しても、パスワードの入力が求められます。
コマンドラインで試してみると、単にrepository not found
エラーが表示されます。
この記事は2012年のもので、これに関するAPIドキュメントは見つかりません。だから私はこれがまだ機能するかどうか疑問に思っています。
私はスコープの問題であることが判明しました。もちろん、repo
リポジトリを複製しようとしていたので、完全なprivate
スコープが必要でした。
残念なことに、Githubにはこれらの種類の明確なエラーメッセージはありませんが、セキュリティに関しては理由がわかります。
このようなことを試みるときに何が悪いのかを理解しようとする人のために、私はすべてに完全にアクセスできる個人アクセストークンを作成することをお勧めします:
設定>開発者設定>個人アクセストークン>新しいトークンを生成
このように、トークンをすべてのアクセス権を持つ個人アクセストークンと比較することで、スコープの問題かどうかを簡単にテストできます。
まだ時間をかけてこれを読んでくれた人に感謝します。
.netコアでは、Azure DevOps Repoを扱うときにこの方法で行うことができます。
public void CloneRepository()
{
var _gitURL = "URLofGitRemoteRepository";
var _userName = "PersonalAccessToken";
var _pswd = ""; //Keep it blank
var co = new CloneOptions();
co.CredentialsProvider = (_url, _user, _cred) => new UsernamePasswordCredentials { Username = _userName, Password = _pswd };
Repository.Clone(_gitURL, filePath, co);
}
これらの2つの選択肢からあなたのために働くものは何でもしてください
端末で
$ git clone your_repo_url Username:your_token Password:
...パスワードがありません
gitクライアントアプリで
つまり、Sourcetree、GitKraken、およびGitHubクライアント。
Repo_urlを入力します(「$ git clone part」なしで)
Username:your_token Password:
...パスワードがありません
またはつまり、ソースツリーで設定を開き、詳細設定に進み、ホスト名(つまりwww.x.com)とユーザー名(つまりyour_token)を入力します
????