回答:
今日、同様の問題がありました:作業コピーで物事を台無しにしたので、ディレクトリの名前を変更し、githubからプロジェクトを再度クローンすることにしました。しかし、それを行った後は、以前のようにパスフレーズを一度だけ入力するのではなく、プル/プッシュ要求を行うためにパスワードを入力する必要がありました。
これは、今日、httpsプロトコルを使用してプロジェクトのクローンを作成したためです!使用しているプロトコルを確認するには、単に実行します
git config -l
「remote.origin.url」で始まる行を見てください。
プロトコルを切り替えるには:
git config remote.origin.url git@github.com:the_repository_username/your_project.git
the_repository_username
そしてyour_project
、適切なリポジトリ名とそのリポジトリの所有者に置き換えてください。ユーザー名は、リポジトリを所有している場合は自分のもの、そうでない場合はリポジトリ所有者のユーザー名になります。
git@github.com:some-user/repo-name.git
remote.origin.url
のhttpsメソッドにセットをしてさえいた気付かなかったhttps
対ssh
方法。このURLは私が明らかに見助けhelp.github.com/articles/...
git config remote.origin.url ...
上記で使用したものと、 git remote set-url origin ...
?
git remote rm origin
SSHの代わりにHTTPSを使用している場合、次のようにできます。
リモートURL(remote.origin.url)を見つけます
git config -l
セルジオ・モルスタビリーニのおかげで
リモートURLは次のようになります:https:// {USERNAME} @ github.com / {USERNAME} / {REPONAME} .git
このコマンドを実行します:
git config remote.origin.url https://{USERNAME}:{PASSWORD}@github.com/{USERNAME}/{REPONAME}.git
@
、私のために働いていませんでした。
.git/config
ファイル内のプレーンテキストで保存されることに注意してください!
HTTPSを使用することを好みます。sshキーを設定するよりも簡単で安全であることがわかります。
HTTPSを使用すると、次のようにして、gitがgithubリモートのユーザー名を要求するのを防ぐことができます。
git config --global url."https://yourusername@github.com".insteadOf "https://github.com"
そして、少なくともgitがパスワードを要求する頻度を減らすことができます:
git config --global credential.helper 'cache --timeout=28800'
28800は8時間です。私はこのセットアップを使用して、勤務時間を開始するときに1回だけパスワードを入力します。
その後、これらのエントリが ~/.gitconfig
[url "https://yourusername@github.com"]
insteadOf = https://github.com
[credential]
helper = cache --timeout=28800
ソース:
HTTPSを使用してWindowsを使用している場合は、Git資格情報ストアを試してください-Windows資格情報ストアを使用して名前とパスワードを保持します。
Windows Credential Store for Git
This application is a small helper app designed to follow the
git credentials API as defined by the Git Documentation.
Installation
1. Download the git-credential-winstore.exe application
2. Run it! If you have GIT in your PATH, it should just work.
次に、名前とパスワードを次に入力するときに、それらが記憶されます。
私と同じように2要素認証を使用している場合、状況は少し異なります。他の場所では良い答えが見つからなかったので、後で見つけられるようにここに貼り付けます。
2要素認証を使用している場合、ユーザー名/パスワードを指定しても機能しません-アクセスが拒否されます。ただし、アプリケーションアクセストークンを使用し、gitの資格情報ヘルパーを使用してキャッシュすることができます。関連リンクは次のとおりです。
そして、私はこれを見た場所を覚えていませんが、ユーザー名を求められたとき-それはあなたがアプリケーションアクセストークンを貼り付ける場所です。次に、パスワードを空白のままにします。私のMacで働いた。
プッシュ中にGitHubがパスワードを要求しないようにするには、理想的にはHTTPS URL()ではなくSSH(git@github.com:...
)を使用し、GitHubアカウントにSSHキーを追加する必要があります。参照:どのリモートURLを使用する必要がありますか?https://github.com/...
それ以外の場合、本当にHTTPSを使用する必要がある場合、GitでGitHubパスワードをキャッシュするには、資格情報ヘルパーを使用して、GitHubと通信するたびにGitHubのユーザー名とパスワードを記憶するようGitに指示する必要があります。
git config --global credential.helper osxkeychain
(osxkeychain helper
必要)、git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
別の方法は、~/.netrc
(_netrc
Windowsの場合)でユーザー/パスワードの設定を使用することです。たとえば、
machine github.com
login USERNAME
password PASSWORD
OAuthトークン(Personal APIトークン)を使用して、変更をプッシュします。例えば
git push https://4UTHT0KEN@github.com/foo/bar
関連する:
また、Windowsを使用している場合は、次を使用できます。
$ git config --global credential.helper wincred
もう一度サインインするだけで、gitは記憶します。
Windowsを使用している場合は、Git Credential Manager for Windowsを使用します。
このプロジェクトには以下が含まれます。
- Windows資格情報ストアの安全なパスワードストレージ
- Visual Studio Team Servicesの多要素認証サポート
- GitHubの2要素認証サポート
- Visual Studio Team ServicesおよびGitHubのパーソナルアクセストークンの生成と使用のサポート
- Azure DirectoryがサポートするVisual Studio Team Servicesの非インタラクティブモードのサポート
- Team Foundation ServerのKerberos認証
- ビルドエージェント最適化のオプション設定
単純に、最新バージョンをダウンロードしてインストールしてください。
使い方
あなたはしません。資格情報が必要なときに魔法のように機能します。