GitHub - fatal: 'https://github.com '에 대한 사용자 이름을 읽을 수 없음: 해당 파일 또는 디렉토리가 없습니다.
Windows에서 gitBash를 사용하여 코드를 풀하려고 하면 다음과 같은 문제가 발생합니다.
fatal: could not read Username for 'https://github.com': No such file or directory
저는 이미 여기에 제공된 승인된 솔루션을 구현하려고 했습니다.
그러나 문제는 여전히 남아 있습니다.
오리진을 추가/제거한 후에도 동일한 오류가 발생합니다.
이 문제에 대해 조언해 주시겠습니까?
감사합니다!
다음 단계에 따라 SSH 키를 설정합니다. https://help.github.com/articles/generating-ssh-keys
OR
git remote add origin https://{username}:{password}@github.com/{username}/project.git
업데이트: "fatal: remote origin"이 이미 존재하는 경우.그런 다음 set-url을 사용해야 합니다.
git remote set-url origin https://{username}:{password}@github.com/{username}/project.git
저도 똑같은 문제에 직면했습니다.가 이문는반복때제발다니습생했할을을 사용하여 복제했을 때 했습니다.HTTPS URL
그런 다음 변경 사항을 푸시하려고 했습니다(Linux/Mac의 Shell 또는 Windows의 Git Bash 사용).
git clone https://github.com/{username}/{repo}.git
, 제가 만지하를 했을 때, 제사용을때했가때을▁however.SSH URL
복제할 때는 이 문제가 발생하지 않았습니다.
git clone git@github.com:{username}/{repo}.git
미이 경우한제복우경HTTPS
그리고 모든 것을 다시 하고 싶지 않아요, 당신은 사용할 수 있습니다.set-url
을 오진을 URL로 합니다.SSH URL
:
git remote set-url origin git@github.com:{username}/{repo}.git
참고: 내 GitHub 계정에 SSH 키가 추가되었습니다.SSH 키를 설정하지 않으면 이 방법도 작동하지 않습니다.
그건 그렇고.
git clone
또는pull
이러한 변경 사항 없이 작동해야 합니다.이것들은 당신이 필요할 때만 필요합니다.git push
나고끝clone
.
여기서 답을 찾았습니다.
편집을~/.gitconfig
다음을 추가합니다.
[url "git@github.com:"]
insteadOf = https://github.com/
다른 문제를 해결하지만 오류 코드는 동일합니다.
아래 내용만 확인해 주세요.
Android Studio -> 기본 설정 -> 버전 제어 -> Git -> 자격 증명 도우미 사용
위에서 제안한 것 중에서 작동한 것은 아무것도 없습니다. 저는 다음을 사용합니다.git pull
Jenkins Shell Script에서 명령을 받았는데 사용자 이름이 잘못된 것 같습니다.SSH로 전환하지 않고도 해결할 수 있는 방법을 찾기 전까지 오랜 시간을 보냈습니다.
에 . 파일생성하고 자격 증명을 다음합니다.https://user:pass@example.com
더 많은 정보..gitconfig 파일을 해당 자격 증명에 연결한 후에는 다음과 같습니다.
[credential]
helper = store --file /Users/admin/.git-credentials
Git은 어떤 일이 있어도 항상 자격 증명을 사용할 것입니다.누군가에게 도움이 되길 바랍니다. 마치 저에게 도움이 된 것처럼요.
계속하려면 ssh 대신 https를 사용하고 보안상의 이유로 사용자 이름과 암호를 입력하지 마십시오.
또한 Github OAuth 토큰을 사용해 볼 수 있으며, 그러면 할 수 있습니다.git config remote.origin.url 'https://{token}@github.com/{username}/{project}.git'
또는git remote add origin 'https://{token}@github.com/{username}/{project}.git'
이건 나한테 효과가 있어요!
대신 이 오류가 발생하는 경우:
fatal: could not read Username for 'https://github.com': No error
그런 다음 Git를 버전으로 업데이트해야 합니다.2.16
나중에.
이 오류는 잘못된 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입니다.
한 달 전에도 그랬고 지금도 그랬기 때문에 이 글을 올리게 되었습니다.>:(
TL에 읽기;DR: 읽쓰기/기가여확인부능/dev/tty
아니오를 사용하고 사용한 경우su
셸을 열려면 올바르게 사용했는지 확인합니다.
저는 같은 문제에 직면했지만 Linux에서 문제를 발견했습니다.자격 증명이 저장되어 있지 않아서 항상 프롬프트에 입력합니다.
Username for 'https://github.com': foo
Password for 'https://foo@github.com':
가 http) 하는 방법은 git를 하는 것입니다./usr/lib/git-core/git-remote-https
여기에서 트레이스를 볼 수 있습니다.
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
▁user다를 사용하여 이 사용자로 전환한 것을 알고 .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이 올바르게 작동하기 시작했습니다.
여기 있는 모든 걸 시도해봤지만 소용이 없었어요
하지만디버를시때도할그때▁도▁i▁▁to로 디버깅하려고 했을 때git config --system --list
,받았습니다fatal: unable to read config file '/etc/gitconfig': No such file or directory
.
그래서 저는 다음과 같이 했습니다.
sudo ln -s $HOME/.gitconfig /etc/gitconfig
그리고 voila, 효과가 있습니다.
여기에 효과적인 간단한 속임수가 있습니다.
Android studio -> 설정 -> 버전 제어 -> git -> 자격 증명 도우미 사용
즐겁게 보내세요
저는 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를 사용하면 자격 증명 관리자 창이 뜨고 사용자 이름과 암호를 입력할 수 있습니다. 그러면 작동합니다.
Jenkins 파이프라인에서 이 오류가 발생하는 경우 SSH 에이전트 플러그인을 사용하여 해결할 수 있습니다.그런 다음 git 명령을 다음과 같은 형식으로 묶습니다.
sshagent(['my-ssh-key']) {
git remote set-url origin git@github.com:username/reponame.git
sh 'git push origin branch_name'
}
단답:
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
새 리포지토리가 아닌 경우 처음 세 줄은 무시합니다.
더 긴 설명:
방금 같은 문제가 있었습니다. 위의 답변 중 어떤 것도 도움이 되지 않았기 때문에, 저는 저에게 효과가 있는 이 솔루션을 게시하기로 결정했습니다.
몇 가지 참고 사항:
- SSH 키가 생성되었습니다.
- SSH 키가 GitHub에 추가되었지만 여전히 이 오류가 발생했습니다.
- 나는 이 프로젝트를 위해 GitHub에 새 저장소를 만들고 설명된 단계를 따릅니다.
명령줄 도구로 GitShell을 사용했습니다(Windows의 경우 Mac에서는 Terminal.app을 사용합니다).
GitShell은 공식 GitHub 도구이며, https://windows.github.com/ 에서 다운로드할 수 있습니다.
원격 URL을 다음과 같이 바꿉니다.
git remote set-url origin https://<username>@github.com/<username>/<repo>.git
[SSH] executing...
fatal: could not read Username for 'https://github.com': No such device or address
[SSH] completed
[SSH] exit-status: 1
Build step 'Execute shell script on remote host using ssh' marked build as failure
Finished: FAILURE
Sol:- 저장소가 비공개이고 다른 사용자 또는 조직에 속해 있으며 해당 저장소의 기여자인 경우 Jenkins 작업에서 git 명령을 실행할 수 있으며 사용자 이름과 암호를 입력하라는 메시지가 표시되지 않습니다.
https://filename:token@github.com /accountname/reponame.git
제 경우 GitHub 아래에 "개인 액세스 토큰"을 설정해야 했습니다.
설정 -> 개발자 설정
SSO를 사용하도록 설정합니다.
는 사용중을 하고 있습니다.GitHub actions
jobs
태스크를 수행하도록 구성됩니다.이 솔루션은 git 명령 실행 환경이 변경되는 모든 CI(Jenkins, Travis, Circle)에 적용됩니다.
job1:
actions github을 합니다.actions/checkout@v2
개인 액세스 토큰(PAT)을 사용하면 작업이 성공적으로 완료되고 리포지토리가 복제됩니다.
job2:
" " 를 가져옵니다.git fetch --tags
했습니다.
fatal: could not read Username for 'https://github.com': No such file or directory
실패 이유:작업이 변경되면 저장소가 있지만 태그를 가져오려면 github 자격 증명을 제공해야 하지만 명령 실행 환경도 변경됩니다.
" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "job2
git config remote.origin.url 'https://${{ your_personal_access_token }}@github.com/${{ github.repository }}'
참고:${{ expression }}
는 환경 변수를 파악하기 위한 github 작업 yaml 구문입니다/ 식을 실행합니다.
이것은 시스템 자격 증명 캐시에 저장된 자격 증명과 관련된 문제입니다. 'incential'이을수helper있습다니있수변helper.''가 못하고 있습니다.도우미'가 wincred 또는 winstore로 설정되어 있으며 이를 지우지 못하고 있습니다. 애플릿을 인증 섹션에서 .git:https://github.com
이러한 자격 증명을 삭제하면 다음에 다시 생성되지만 자격 증명 도우미 유틸리티는 새 자격 증명을 묻는 메시지를 표시합니다.
CMD와 같은 일반 윈도우즈 셸을 사용해 보십시오.
이전에 repo에 액세스할 수 있는 권한이 부여되지 않았을 때, 나는 또한 SSH pubkey를 gitlab에 추가했습니다.그 시점에서 저는 repo에 접속하여 당신과 같은 문제가 발생하는 Good vendor를 실행할 수 있었습니다.(캐시 때문일 수 있음)
go mod vendor
go: errors parsing go.mod:
/Users/macos/Documents/sample/go.mod:22: git ls-remote -q https://git.aaa.team/core/some_repo.git in /Users/macos/go/pkg/mod/cache/vcs/a94d20a18fd56245f5d0f9f1601688930cad7046e55dd453b82e959b12d78369: exit status 128:
fatal: could not read Username for 'https://git.aaa.team': terminal prompts disabled
잠시 시도한 후 SSH 키를 제거하고 사용자 이름과 암호를 입력하는 터미널 프롬프트를 표시합니다.그때는 모든 것이 좋습니다!
저장소 URL을 다시 확인하면, Github은 repo가 존재하지 않는 경우 로그인하라는 메시지를 표시합니다.
제 생각에 이것은 아마도 당신이 접근할 수 있는 개인 레포인지 확인하기 위한 것 같습니다.개인 저장소를 열거하는 것을 어렵게 만들 수 있습니다.하지만 이것은 모두 추측입니다./timeout
감옥에서 이 . 그곳에서 저는 ssh옥(jailkit)에서 이 문제를 겪었습니다./dev/tty
참석하지 않았습니다.로 이 .jk_cp의 파일입니다.
캐시 무효화를 해제하고 클린 빌드가 도움이 되어 답을 얻었습니다.
- 'File > Invalidate Cache / Restart'를 선택한 후 'Invalidate and Restart' 버튼을 클릭합니다.
- Build > Clean Project를 선택한 후 Build > Rebuild Project를 선택합니다.
이 오류가 발생하는 사용자의 간단한 원인은 다음과 같습니다. 아직 로컬 깃을 설정하지 않은 레포에서 액세스하려고 하는 경우입니다.저는 공용 레포트를 비공개 레포트로 변경했을 때 이 오류가 발생했습니다.이제 공공 레포에는 인증이 필요하지 않지만 개인 레포에는 인증이 필요하다는 것이 분명합니다.
이것이 오류가 발생하는 이유와 그 원인에 대한 하나의 잠재적인 트리거를 명확히 하는 데 도움이 되기를 바랍니다.
또한 개인 GitLab 저장소에 계정을 연결하는 문제도 있었습니다.바로 이 Stack Overflow 페이지에서 해결책을 찾았지만 여전히 의문을 가지고 있습니다.수행해야 할 작업을 설명하는 이 이미지를 게시합니다.
에서 Android Studio
git pull
예:
test@test:~/StudioProjects/dummy-project-android$ git pull
사용자 이름 추가
예:
test@test:~/StudioProjects/dummy-project-android$ "username"
사용자 암호 추가
Password for 'https://dummy-project-android@git.com':"password"
그 후에 나머지 작업을 수행할 수 있습니다.
보고서가 비공개인 경우
이 형식 대신
https://github.com/username/<project_name>.git
이 형식 사용
git@github.username/<project_name>.git
에서 을올 URL 수있니에서 올바른 수 .SSH
Github Repo로 이동 -> Code 클릭 -> SSH 선택 -> repo URL 복사
이게 도움이 되길 바랍니다.
제게 효과가 있었던 것은 Git 저장소의 액세스 권한을 개인에서 공용으로 변경한 것입니다.
언급URL : https://stackoverflow.com/questions/22147574/github-fatal-could-not-read-username-for-https-github-com-no-such-file-o
'source' 카테고리의 다른 글
값의 합이 아닌 값을 표시하는 피벗 테이블 (0) | 2023.07.01 |
---|---|
Vuex - 구성 요소 간에 어레이를 효율적으로 공유 (0) | 2023.07.01 |
iOS 5 모범 사례(릴리스/유지?) (0) | 2023.07.01 |
XlsxWriter를 사용하여 맨 위 행과 첫 번째 열을 고정하는 방법은 무엇입니까? (0) | 2023.07.01 |
Spring Web Client에서 응답 json을 가져오는 방법 (0) | 2023.07.01 |