私の組織は、プロジェクト管理のためにBitbucketからGithubに切り替えています。今日、SourceTreeを使用して、最新のプロジェクトをBitbucketからGithubに転送しようとしていました。プロジェクトに2番目のリモートリポジトリを追加し(Githubの宛先リポジトリのURLを使用)、すべてを最新の状態にしてから、コードをリポジトリにプッシュしようとしました。私のGithubアカウントのパスワードを尋ねるボックスがポップアップしました。 (正しい)パスワードを入力し、[OK]をクリックすると、ダイアログボックスが再びポップアップしました。パスワードを(正しく)もう一度入力すると、同じことが行われました。
ユーザー名が正しく識別され、パスワードが正しい。以前のバージョンの問題だと聞いたため、SourceTreeを更新しようとしました。問題は解決しません。
SourceTree 2.3.1を使用しています
GitHubで2要素認証を使用している場合、 個人アクセストークンを作成し、SourceTreeで使用 する必要があります。
SourceTreeでGitHubの2要素認証を使用するには、パスワードの代わりにアクセストークンを使用するだけです。これを行う手順は次のとおりです。
- GitHubのPersonal Access Tokens設定に移動します。
- 新しいトークンを生成するボタンをクリックします。
- トークンにわかりやすい名前を付けます。
- このトークンを付与するスコープを選択します。
- Generate tokenボタンをクリックします。
- トークンをコピーし、ホストされているリポジトリでパスワードとして使用します。
これについての詳細は GitHubのヘルプ で見つけることができます。
Macユーザー:SourceTreeがパスワードを要求し続ける場合は、ターミナルに移動してこれを入力します:
git config --global credential.helper osxkeychain
ターミナルを開き、リポジトリをクローンします。リポジトリのURLには、使用済みIDが必要です。例:
$ git clone https://<username>@github.com/<userId>/<reponame>.git
$ git clone https://[email protected]/mak123/<reponame>.git
次に、クローンされたフォルダをsourceTreeウィンドウにドラッグアンドドロップします。「+新しいリポジトリ」ボタンをクリックし、メニューから「既存のローカルリポジトリを追加」を選択して行うこともできます。もう一度パスワードを要求される場合がありますが、今回はキーチェーンに追加されます。
更新後も似たようなことがありました。私はビットバケツの資格情報を再度追加し、プロトコルを変更するなど、運が悪かったまで...
キーチェーンを開き、パスワードカテゴリでbitbucket(おそらくgithubでも同じ、代わりにgithubを検索)を検索しました。
ユーザーのアクセスキーが複数あることがわかったため、リポジトリを閉じ、「アプリケーションパスワード」の種類のすべてのキーを削除し、SourceTreeの設定>アカウント>アカウントを削除して、再度追加しました(通常のログイン-I HTTPSでBasicを使用)。
キーチェーンはパスワードを保存する許可を求めますが、これを「はい」と言い、今では「アプリケーションパスワード」という種類のキーが1つだけ表示されています。
リポジトリブラウザからリポジトリを開いたところ、パスワードのポップアップが表示されなくなりました。
これは一週間私を悩ませました!これがあなたを助けたなら、あなたは今私と少しダンスをすることができます:)
SourceTreeバージョン2.4.8.0
私にとっての問題は、SourceTreeとGitHubの間のセットアップの順序のようです。最初にSourceTreeをセットアップし、すべての「後でセットアップ」オプションをクリックしました。
簡単な修正-SourceTreeをアンインストールして再インストールします。非自明なビットは、実際のプログラムファイルを手動で削除する必要がありました。
「SourceTree.exe」ショートカットから、ファイルの場所を開きます。 「C:\ Users\myusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Atlassian」で分岐した場所で、ショートカットは別のショートカットを指していました。
そのショートカットのファイルの場所を開きます。最終的には「C:\ Users\myusername\AppData\Local\SourceTree」になりました。 「SourceTree」フォルダー全体を削除します。 「...\Local」まで1レベル上に移動し、「Atlassian」フォルダーも削除します。
SourceTreeをアンインストールします。 GitHubが希望どおりにセットアップされていることを確認してください(私にとっては、SourceTreeのセットアップに使用したSSHキーも作成して保存しました)。すべての正しい資格情報を使用してSourceTreeを再インストールし、適切なリポジトリなどをポイントします。
このすべての後、SourceTreeは2つの異なるダイアログボックスを使用してGitHub資格情報を2回要求し、その後停止して動作しました!これ以上の無限ループはありません。がんばろう!
GitHubで個人用アクセストークンを設定し、上記のA_01の状態を実行することに加えて、これは役立つ場合があります(最終的に機能するようになりました)
ソースからコピーされたAndrew Magillによって与えられた解決策が私のために働いた: link
問題は、SourceTreeの組み込みGitクライアントにgit-credential-manager v1.12が付属していることです。これは、サイトでTLS 1.1を無効にしているため、Githubで動作しなくなりました。 git-credential-manager v1.14を取得する必要があります。これを行う最も簡単な方法は、Gitクライアントの現在のコピーを個別にインストールし、組み込みクライアントの代わりにSourceTreeを切り替えて使用することです(「システムgit」)。または、組み込みクライアントのgit-credential-managerのファイルをMicrosoftの最新バージョンに置き換えることにより、git-credential-managerを更新できます。
これは私が発見したものです(私のドライブCで「sourcetree」を検索した後):
「ユーザー名とパスワード」認証を使用している場合、認証にSSHキーを使用するように変更することができます。
毎回GitLabにコミットすると、このような状況に遭遇しました。認証方法を変更したとき:SSHキー、問題は解決しました。
私の場合、メインプロジェクトがsshを使用していても、これはhttpsにデフォルト設定されていたサブモジュールで発生していました。 SourceTreeのリポジトリ設定でサブモジュールのリポジトリパスを変更して、httpsではなくsshパスを使用することで修正しました。
SSHキーを使用していますが、SourceTreeは毎回パスワードを要求してきました。
アトラシアンのコミュニティで発見された、このソリューションは私のために働いた:
git config credential.helper store
git pull
ほら!
GitHub 2FA を使用していない場合、パスワードを尋ねるもう1つの理由は次のとおりです。
GitHubリポジトリのURLはsshのものであり、httpsのものではありません。
gitはsshキーを見つけられない(または、sshキーがGitHubアカウントに登録されていない)ため、アカウント/パスワードメカニズムにフェールバックします。
2FA(およびhttps URL)を使用している場合、 パスワードとして個人トークンが必要 。