web-dev-qa-db-ja.com

致命的:「https://github.com」のユーザー名を読み取れませんでした:そのようなファイルまたはディレクトリはありません

WindowsでGIT Bashを使用してコードをプルしようとすると、次の問題が発生します

ここで提供されている承認済みのソリューションを実装しようとしました。

しかし、問題は解決しません。 Originを追加/削除した後も同じエラーが発生します。

fatal: could not read Username for 'https://github.com': No such file or directory
64
noobie-php

ここでSSHキーを設定する手順に従ってください: https://help.github.com/articles/generated-ssh-keys

OR

git remote add Origin https://{username}:{password}@github.com/{username}/project.git
47
Tony Zampogna

代わりにこのエラーが発生する場合:

致命的:「 https://github.com 」のユーザー名を読み取れませんでした:エラーなし

次に、Gitをバージョン2.16以降に更新する必要があります。

10
Rosdi Kasim

私はまったく同じ問題に直面しました。この問題は、HTTPS URLを使用してクローンを作成し、次にWindowsでGit Bashを使用して変更をプッシュしようとしたときに発生しました。

git clone https://github.com/{username}/{repo}.git

ただし、SSH URLを使用してクローンを作成した場合、この問題は発生しませんでした。

git clone [email protected]:{username}/{repo}.git
10
Fayaz

短い答え:

git init
git add README.md
git commit -m "first commit"


git remote add Origin https://github.com/{USER_NAME}/{REPOSITORY_NAME}.git
git Push --set-upstream Origin master

新しいリポジトリでない場合、最初の3行を無視します。

長い説明:

上記の回答のどれも役に立たなかったため、同じ問題が発生したため、この解決策を投稿することにしました。

いくつかのメモ:

  • SSHキーが生成されました
  • SSHキーがgithubに追加されましたが、まだこのエラーがありました。
  • このプロジェクト用にGitHubに新しいリポジトリを作成し、説明されている手順に従いました

コマンドラインツールとしてGitShellを使用しました(Windowsの場合、MacではTerminal.appを使用します)。
GitShellは公式のGitHubツールであり、 https://windows.github.com/ からダウンロードできます。

これが同じ問題を抱えている人に役立つことを願っています。

3
Creative Magic

このエラーは、無効なHTTP URLを複製しようとしたときにも発生する可能性があります。たとえば、これは数文字離れたGitHub URLを複製しようとしたときに得たエラーです。

$ git clone -v http://github.com/username/repo-name.git
Cloning into 'repo-name'...
Username for 'https://github.com': 
Password for 'https://github.com': 
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/username/repo-name.git/'

ただし、実際にはEmacs内で発生したため、Emacsのエラーは次のようになりました。

fatal: could not read Username for ’https://github.com’: No such device or address

そのため、そのURLにそのようなレポがなかったという有益なエラーの代わりに、URLが間違っていることに気が付くまで野生のガチョウの追跡を送信しました。

これはgitバージョン2.7.4で発生します。

1か月前と今ちょうど同じことが起きたので、ここに投稿しました。 > :(

2
blujay

私にとっては、上記の提案から何もうまくいかず、jenkins Shellスクリプトのgit pullを使用していますが、明らかに間違ったユーザー名が必要です。 SSHに切り替えることなく修正する方法を見つける前に、何年も費やしていました。

ユーザーのフォルダーに.gitconfigファイルを作成し(まだ持っていない場合)、次の形式で資格情報を入力します:https://user:[email protected]、more info 。 .gitconfigファイルがこれらの資格情報にリンクした後、私の場合は次のようになりました。

[credential] helper = store --file /Users/admin/.git-credentials

Gitは、これらの資格情報を常に使用します。私が助けたように、それが誰かを助けることを願っています。

2
Katia

TL; DR:/dev/ttyの読み取り/書き込みができるかどうかを確認します。いいえで、suを使用してシェルを開いた場合は、正しく使用したかどうかを確認します。

私は同じ問題に直面していましたが、Linuxで問題を発見しました。資格情報が保存されていないため、常にプロンプ​​トで入力します:

Username for 'https://github.com': foo
Password for 'https://[email protected]': 

Gitがhttp(s)接続を処理する方法は/usr/lib/git-core/git-remote-httpsを使用しています。ここでstraceを見ることができます:

stat("/usr/lib/git-core/git-remote-https", {st_mode=S_IFREG|0755, st_size=1366784, ...}) = 0
pipe([9, 10])                           = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f65398bb350) = 18177
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(10)                               = 0
read(9, "", 8)                          = 0
close(9)                                = 0
close(5)                                = 0
close(8)                                = 0
dup(7)                                  = 5
fcntl(5, F_GETFL)                       = 0 (flags O_RDONLY)
write(6, "capabilities\n", 13)          = 13
fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
read(5, "fetch\noption\npush\ncheck-connecti"..., 4096) = 38
write(6, "option progress true\n", 21)  = 21
read(5, "ok\n", 4096)                   = 3
write(6, "option verbosity 1\n", 19)    = 19
read(5, "ok\n", 4096)                   = 3
stat(".git/packed-refs", {st_mode=S_IFREG|0664, st_size=675, ...}) = 0
lstat(".git/objects/10/52401742a2e9a3e8bf068b115c3818180bf19e", {st_mode=S_IFREG|0444, st_size=179, ...}) = 0
lstat(".git/objects/4e/35fa16cf8f2676600f56e9ba78cf730adc706e", {st_mode=S_IFREG|0444, st_size=178, ...}) = 0
dup(7)                                  = 8
fcntl(8, F_GETFL)                       = 0 (flags O_RDONLY)
close(8)                                = 0
write(6, "list for-Push\n", 14)         = 14
read(5, fatal: could not read Username for 'https://github.com': No such device or address
"", 4096)                       = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=18177, si_uid=1000, si_status=128, si_utime=6, si_stime=2} ---
exit_group(128)                         = ?
+++ exited with 128 +++

だから私はそれを直接呼ぼうとした:

echo "list for-Push" | strace /usr/lib/git-core/git-remote-https my

そして結果:

poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=3, revents=POLLIN|POLLRDNORM}])
recvfrom(3, "\27\3\3\1\32", 5, 0, NULL, NULL) = 5
recvfrom(3, "\307|4Q\21\306\334\244o\237-\230\255\336\25\215D\257\227\274\r\330\314U\5\17\217T\274\262M\223"..., 282, 0, NULL, NULL) = 282
openat(AT_FDCWD, "/dev/tty", O_RDONLY)  = -1 ENXIO (No such device or address)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=2995, ...}) = 0
read(4, "# Locale name alias data base.\n#"..., 4096) = 2995
read(4, "", 4096)                       = 0
close(4)                                = 0
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "fatal: could not read Username f"..., 83fatal: could not read Username for 'https://github.com': No such device or address
) = 83
exit_group(128)                         = ?
+++ exited with 128 +++

そして、ここに来ました:

openat(AT_FDCWD, "/dev/tty", O_RDONLY)  = -1 ENXIO (No such device or address)
...
write(2, "fatal: could not read Username f"..., 83fatal: could not read Username for 'https://github.com': No such device or address
) = 83

git-remote-https/dev/ttyを介して資格情報を読み取ろうとするため、動作するかどうかをテストしました。

$ echo ahoj > /dev/tty
bash: /dev/tty: No such device or address

しかし、別のターミナルで:

# echo ahoj > /dev/tty
ahoj

suを使用してこのユーザーに切り替えたことを知っていたので、シェルを終了して方法を確認し、コマンドsu danman -を使用したことがわかりました。

~# su danman -
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this Shell
/root$ echo ahoj > /dev/tty
bash: /dev/tty: No such device or address

私はおそらくこのメッセージを無視して仕事を続けましたが、これが理由でした。正しいsu - danmanを使用して切り替えたとき、すべて正常に機能しました。

~# su - danman
danman@speedy:~$ echo ahoj > /dev/tty
ahoj

この後、gitは正常に動作し始めました

1
danman

これは、システムクレデンシャルキャッシュに保存されているクレデンシャルの問題です。おそらく、構成変数 'c​​redential.helper'がwincredまたはwinstoreに設定されており、クリアに失敗しています。コントロールパネルを起動し、Credential Managerアプレットを起動した場合、「git: https://github.com "」というラベルの付いた一般的な資格情報セクションでアイテムを探します。これらを削除すると、次回に再作成されますが、クレデンシャルヘルパーユーティリティは新しいクレデンシャルを要求します。

1
patthoyts

私の答えを見つけました こちら

~/.gitconfigを編集して、次を追加します。

[url "[email protected]:"]
 insteadOf = https://gitlab.com/

別の問題を解決しますが、エラーコードは同じです...

1
Louis Parkin

Sshの代わりにhttpsを使用し続けたい場合は、セキュリティ上の理由からユーザー名とパスワードを入力しないでください。

Github OAuth token を試すこともできます。その後、git config remote.Origin.url 'https://{token}@github.com/{username}/{project}.git'またはgit remote add Origin 'https://{token}@github.com/{username}/{project}.git'を実行できます

これは私のために働く!

1
Bin Feng

新しいバージョンのGitをインストールして、これを修正しました。私がインストールしたバージョンは https://git-scm.com から2.10.2です。最後の投稿を参照してください: https://www.bountysource.com/issues/31602800-git-fails-to-authenticate-access-to-private-repository-over-https

新しいGit Bashを使用すると、資格情報マネージャーウィンドウが表示され、ユーザー名とパスワードを入力できます。

1
David Burson

リモートURLを次のように置き換えます。

git remote set-url Origin https://<username>@github.com/<username>/<repo>.git
0

CMDなどの通常のWindowsシェルを使用してみてください。

0
Vajiheh habibi

致命的:「 https://github.com 」のユーザー名を読み取れませんでした:エラーなし

Gitを使ってクローンを作成しました

$ git clone -v http://github.com/username/repo-name.git
Cloning into 'repo-name'...
Username for 'https://github.com': 
Password for 'https://github.com': 

大丈夫、今????。

0
Tim