মারাত্মক: 'https://github.com' এর ব্যবহারকারীর নাম পড়তে পারেনি: এরকম কোনও ফাইল বা ডিরেক্টরি নেই


99

উইন্ডোজে গিট ব্যাশ ব্যবহার করে কোড টানতে চেষ্টা করার সময় আমার নিম্নলিখিত সমস্যাটি রয়েছে:

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

আমি ইতিমধ্যে এখানে সরবরাহিত গৃহীত সমাধানটি কার্যকর করার চেষ্টা করেছি:

... তবে সমস্যাটি এখনও থেকেই যায়। উত্স যোগ / অপসারণের পরে আমি এখনও একই ত্রুটি পেয়েছি।


আপনি কি ব্যবহারকারী নাম কনফিগার করেছেন? git config --global user.name "Your Name Here"
রাউল অ্যান্ড্রেস

আমি ইতিমধ্যে এটি চেষ্টা করেছি কিন্তু এটি আমার গিটের ব্যবহারকারীর নাম উল্লেখ করে না, আমার মনে হয় যে আমি এখানে কল করছি এমন গিট সংগ্রহস্থলের ব্যবহারকারীর নামটির জন্য সমস্যা দিচ্ছে।
noobie-php

উত্তর:


70

এখানে এসএসএইচ কী সেটআপ করার পদক্ষেপগুলি অনুসরণ করুন: https://help.github.com/articles/generating-ssh-keys

বা

git remote add origin https://{username}:{password}@github.com/{username}/project.git

4
2 য় বিকল্পটি কার্যকর হয়নি কারণ আমি ইতিমধ্যে 'উত্স গিথুব' যুক্ত করেছি। আমি উত্সটি সরিয়েছি [গিট রিমোট রিমুভ অরিজিন] এবং তারপরে উত্তরে আমার ইউজারনেম এবং পাসওয়ার্ড দিয়ে যা লিখেছিল তা কার্যকর হয়েছে।
পি_রেইন

10
উত্স মুছে ফেলা এবং পুনরায় যুক্ত করার পরিবর্তে আপনি কেবল ইউআরএল ব্যবহার করে পরিবর্তন করতে পারেনgit remote set-url origin https://{username}:{password}@github.com/...
ক্রিস

10
@ ক্রিস সলিউশনটি কাজ করে তবে এটি ব্যবহারকারীর গিথুব অ্যাকাউন্টের পাসওয়ার্ড সংরক্ষণ করে এবং এটি কেবল টাইপ করে পড়তে দেওয়া হয়git remote -v
জেফারসন সিলভা

ক্রিসের বিকল্পটি আমার পক্ষে কাজ করেছিল! আমি এটি জেফারসন সিলভার সাথে অনুসরণ করেছিলাম এবং এটি ভাল কাজ করে। এখনও একটি error: cannot spawn sh: No such file or directoryবার্তা আছে ...
TheSciGuy

14

আমি ঠিক একই সমস্যার মুখোমুখি হয়েছি। এইচটিটিপিএস ইউআরএল ব্যবহার করে আমি ক্লোন করেছিলাম এবং তারপরে উইন্ডোজে গিট ব্যাশ ব্যবহার করে পরিবর্তনগুলি ধাকানোর চেষ্টা করার পরে এই সমস্যাটি দেখা দিয়েছে:

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

যাইহোক, আমি ক্লোন করতে যখন এসএসএইচ ইউআরএল ব্যবহার করি তখন এই সমস্যাটি ঘটে না:

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

4
ঠিক আছে, তবে কেন এটি ঘটে?
গিলি

এমএসজিগিতে একটি বাগের কারণে: github.com/msysgit/msysgit/issues/153
ফায়াজ

এই বার্তাটি আমি গিটলবে চলছে এমন একটি ডকারের পাত্রে পেয়েছি। বেস ইমেজ হয় python:3.7-slim। সুতরাং এটি উইন্ডোজ সম্পর্কিত নয়।
মার্টিন থোমা

আমার ক্ষেত্রে এটি ssh: //git.gartner.com ব্যবহার করে একটি সংস্থা রেপো ছিল
অঙ্কুশ

11

আমার জন্য উপরে প্রস্তাবিত থেকে কিছুই কাজ করেনি, আমি git pullজেনকিনস শেল স্ক্রিপ্ট থেকে ব্যবহার করি এবং স্পষ্টতই এটি ভুল ব্যবহারকারীর নাম নেয়। আমি এসএসএইচ না পরিবর্তন করে এটি ঠিক করার কোনও উপায় খুঁজে পাওয়ার আগে আমি যুগে যুগে কাটিয়েছি।

আপনার ব্যবহারকারীর ফোল্ডারে .gitconfig ফাইল তৈরি করুন (যদি আপনার এটি ইতিমধ্যে না থাকে) এবং আপনার শংসাপত্রগুলি নিম্নলিখিত ফর্ম্যাটে রাখুন: https://user:pass@example.comআরও তথ্য । আপনার .gitconfig ফাইলগুলি সেই শংসাপত্রগুলির সাথে লিঙ্ক করার পরে, আমার ক্ষেত্রে এটি ছিল:

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

এখন গিট সবসময় এই শংসাপত্রগুলি ব্যবহার করবে না সে যাই হোক না কেন। আমি আশা করি এটি যেমন কাউকে সহায়তা করবে যেমন এটি আমাকে সাহায্য করেছিল।


আমার জন্য এটি শুধুমাত্র কাজ যখন আমি করা [credential] helper = store --file /..../.git-credentialsমধ্যে .git/configমধ্যে আমার কাজ ডিরেক্টরি
কিরিল Oficerov

11

মনে রাখবেন পরিবর্তে আপনি যদি এই ত্রুটিটি পেয়ে থাকেন:

fatal: could not read Username for 'https://github.com': No error

তারপরে আপনার গিটটি সংস্করণে 2.16বা তার পরে আপডেট করতে হবে ।


7

আমি আমার উত্তর এখানে পেয়েছি :

সম্পাদনা ~/.gitconfigকরুন এবং নিম্নলিখিত যোগ করুন:

[url "git@github.com:"]
 insteadOf = https://github.com/

যদিও এটি একটি আলাদা সমস্যা সমাধান করে, ত্রুটি কোডটি একই ...


6

আপনি যদি ssh পরিবর্তে https ব্যবহার চালিয়ে যেতে চান এবং সুরক্ষার কারণে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ডে টাইপ করা এড়াতে চান।

আপনি গিথুব অউথ টোকেনও চেষ্টা করে দেখতে পারেন, তারপরে আপনি করতে পারেন git config remote.origin.url 'https://{token}@github.com/{username}/{project}.git' বা করতে পারেন git remote add origin 'https://{token}@github.com/{username}/{project}.git'

এটি আমার পক্ষে কাজ করে!


4

কোনও অবৈধ HTTP 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/'

এটি বাস্তবে ইমাক্সের অভ্যন্তরে ঘটেছে, সুতরাং ইমাসে ত্রুটিটি দেখতে এরকম দেখাচ্ছে:

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

সুতরাং সেই ইউআরএলে কোনও রেপো ছিল না এমনটি বলে একটি সহায়ক ত্রুটির পরিবর্তে, এটি আমাকে দিয়েছে যে, শেষ পর্যন্ত আমি বুঝতে পারছি না যে URL টি ভুল ছিল until

এটি গিট সংস্করণ সহ 2.7.4।

আমি এটি এখানে পোস্ট করছি কারণ এটি আমার সাথে একমাস আগে ঘটেছিল এবং ঠিক এখনই আবার আমাকে একই বুনো গোলা তাড়াতে পাঠিয়েছে। > :(


3

সংক্ষিপ্ত উত্তর:

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

এটি কোনও নতুন সংগ্রহস্থল না হলে প্রথম তিনটি লাইন উপেক্ষা করুন।

দীর্ঘ বিবরণ:

ঠিক একই সমস্যাটি ছিল, উপরোক্ত উত্তরগুলির মধ্যে না থেকে যেহেতু আমাকে সহায়তা করেছিল, আমি এই সমাধানটি আমার পক্ষে কাজ করার পোস্ট করার সিদ্ধান্ত নিয়েছি।

কয়েকটি নোট:

  • এসএসএইচ কী তৈরি করা হয়েছিল
  • এসএসএইচ কীটি গিথুবে যুক্ত হয়েছিল, এখনও এই ত্রুটি ছিল।
  • আমি এই প্রকল্পের জন্য গিটহাবের উপর একটি নতুন ভান্ডার তৈরি করেছি এবং বর্ণিত পদক্ষেপগুলি অনুসরণ করেছি

কমান্ড লাইন সরঞ্জাম হিসাবে আমি গিটশেল ব্যবহার করেছি (উইন্ডোজের জন্য, আমি ম্যাকের উপর টার্মিনাল.অ্যাপ ব্যবহার করি)।
গিটশেল অফিসিয়াল গিটহাব সরঞ্জাম, https://windows.github.com/ থেকে ডাউনলোড করা যায়

আশা করি একই সমস্যার কারও পক্ষে এটি সহায়তা করবে।


2

গিটের আরও নতুন সংস্করণ ইনস্টল করে আমি এটি ঠিক করেছি। আমি ইনস্টল করা সংস্করণটি https://git-scm.com থেকে 2.10.2 । এখানে সর্বশেষ পোস্টটি দেখুন: https://www.bountysource.com/issues/31602800-git-fails-to-authenticate-access-to-private-repository-over-https

নতুন গিট ব্যাশের সাথে, শংসাপত্রের ম্যানেজার উইন্ডোটি পপ আপ হয় এবং আপনি আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রবেশ করতে পারেন এবং এটি কার্যকর!


1

এটি সিস্টেম শংসাপত্রের ক্যাশে আপনার সঞ্চিত শংসাপত্রগুলির সাথে একটি সমস্যা। আপনার সম্ভবত কনফিগার ভেরিয়েবল 'क्रेडेंশিয়াল.হেল্পার' উইনক্রেড বা উইনস্টোরের জন্য সেট রয়েছে এবং এটি এটি সাফ করতে ব্যর্থ হচ্ছে। আপনি যদি কন্ট্রোল প্যানেলটি শুরু করেন এবং শংসাপত্র ব্যবস্থাপক অ্যাপলেট চালু করেন তবে "গিট: https://github.com " লেবেলযুক্ত জেনেরিক শংসাপত্র বিভাগে আইটেমগুলি সন্ধান করুন । আপনি যদি এগুলি মুছে ফেলেন তবে পরের বারটি আবার তৈরি করা হবে তবে শংসাপত্র সহায়ক সহায়ক ইউটিলিটি আপনাকে আপনার নতুন শংসাপত্রগুলির জন্য জিজ্ঞাসা করবে।


আপনি বর্তমানে কোন সরঞ্জামটি উল্লেখ করছেন আমি বর্তমানে উইন্ডোজের জন্য ব্যাশ ব্যবহার করছি
noobie-php

হ্যাঁ - সুতরাং ক্রেডেনসিয়াল ম্যানেজার কন্ট্রোল প্যানেল অ্যাপলেটটি দেখুন। যদি সেখানে উল্লিখিত কিছু না থাকে তবে আপনার কনফিগারেশনটি পরীক্ষা করে দেখুন - git config --global -l | grep credential। যদি কোনও আউটপুট থাকে, তবে এটি সেই ইউটিলিটি হবে যা আপনি চাপ দেওয়ার সময় সার্ভারে আপনার সঞ্চিত শংসাপত্রগুলি খাওয়ানোর চেষ্টা করছে।
patthoyts

4
আমি মনে করি এই সমস্যাটি আমাকে বোঝাতে চাই না, আমি কী বলতে চাইছি তা আপনি পেয়ে যাবেন git remote add origin https://github.com/username/Hello-World.git, usernameযা এই গিট রেপো লিঙ্কের সাথে বাঁধা আছে তা সমস্যা সৃষ্টি করছে, আমি মনে করি না যে আমার ওডাব্লুএন ব্যবহারকারীর নাম এখানে সমস্যা করছে। যতদূর আমি জানি শংসাপত্রের ব্যবস্থাটি ব্যক্তিগত শংসাপত্রগুলি পরিচালনা করতে সহায়তা করে, সঞ্চয়পত্রের শংসাপত্রগুলি নয়।
noobie-php

1

আপনার রিমোট ইউআরএলটি প্রতিস্থাপন করুন:

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

4
অন্যান্য সমস্ত পোস্টে পাসওয়ার্ডটি দূরবর্তী ইউআরএলটিতে রাখার ইঙ্গিত দেয় যা পরে ডিস্কে প্লেইন পাঠ্য সংরক্ষণ করা হবে - নম্বর নং সুরক্ষা। কেবলমাত্র ব্যবহারকারীর নাম প্রয়োজন, শংসাপত্রগুলির স্টোরটি আপনার গিথব ব্যবহারকারীর নাম / পাসওয়ার্ডের জন্য অনুরোধ করবে এবং তারপরে এটি স্বয়ংক্রিয়ভাবে ব্যবহারের জন্য সুরক্ষিতভাবে সঞ্চয় করবে।
বায়ে

1

টিএল; ডিআর: আপনি পড়তে / লিখতে পারেন কিনা তা পরীক্ষা করে দেখুন /dev/tty। যদি না এবং আপনি suশেলটি খোলার জন্য ব্যবহার করেছেন , আপনি এটি সঠিকভাবে ব্যবহার করেছেন কিনা তা পরীক্ষা করে দেখুন।

আমি একই সমস্যার মুখোমুখি হয়েছি তবে লিনাক্সে এবং আমি বিষয়টি খুঁজে পেয়েছি। আমার শংসাপত্রগুলি সংরক্ষণ করা নেই তাই আমি সর্বদা প্রম্পটে এগুলি ইনপুট করে রাখি:

Username for 'https://github.com': foo
Password for 'https://foo@github.com': 

গিটটি কীভাবে http (গুলি) সংযোগগুলি ব্যবহার করে তা /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

আমি জানতাম যে আমি এই ব্যবহারকারীর কাছে চলে এসেছি 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

এর পরে, গিটটি সঠিকভাবে কাজ শুরু করে


1

জেনকিনস পাইপলাইনে যারা এই ত্রুটিটি পেয়েছেন তাদের জন্য, এটি কোনও এসএসএইচ এজেন্ট প্লাগইন ব্যবহার করে ঠিক করা যেতে পারে । তারপরে আপনার গিট কমান্ডগুলি এমন কিছুতে মোড়ানো করুন:

sshagent(['my-ssh-key']) {
    git remote set-url origin git@github.com:username/reponame.git
    sh 'git push origin branch_name'
}

0

ক্রিয়েটিভ ম্যাজিক সমাধান চেষ্টা করে, শংসাপত্রের সমস্যাটি নিশ্চিত হয়ে গেছে:

প্রম্পট >>> ' https://github.com ' এর ব্যবহারকারীর নাম

সুতরাং, আমি এর সাথে আমার উত্স url পরিবর্তন করেছি

git remote set-url --add origin http://github.com/user/repo

এবং

git push --set-upstream origin master


0

এর আগে যখন আমাকে রেপো অ্যাক্সেসের অনুমতি দেওয়া হয়নি, আমি এসএসএইচ পাবিকেও গিটলবে যুক্ত করেছি। এই মুহুর্তে আমি রেপো অ্যাক্সেস করতে এবং গো মোড বিক্রেতার চালাতে পারতাম, আপনার সমস্যাটি হ'ল। (সম্ভবত ক্যাশের কারণে)

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

কিছুক্ষণ চেষ্টা করার পরে, আমি এসএসএইচ কীটি সরিয়ে ফেলার সিদ্ধান্ত নিয়েছি এবং টার্মিনালটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড পূরণ করবে p সব ঠিক আছে তো তখন!


0

আমার জন্য যা কাজ করেছে তা হ'ল গিট সংগ্রহস্থলের অ্যাক্সেসটি ব্যক্তিগত থেকে জনসাধারণে পরিবর্তন করা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.