স্ক্রিনের নির্দেশাবলী অনুসরণ করে এবং একটি নতুন রেপো চাপানোর সময় গিথুব কেন ব্যবহারকারীর নাম / পাসওয়ার্ড চাইছেন?


298

আমি গিথুবে একটি সংস্থার মালিক এবং সবেমাত্র একটি রেপো তৈরি করেছি এবং ধাক্কা দেওয়ার চেষ্টা করেছি তবে আমি এমন একটি সমস্যা নিয়ে চলে যাচ্ছি যেখানে এটি আমাকে আমার ব্যবহারকারীর নাম জিজ্ঞাসা করছে যদিও আমি ঠিক এসএসএইচ করতে পারি:

$ ssh -T git@github.com
Hi Celc! You've successfully authenticated, but GitHub does not provide shell access.
$ git add .
$ git commit -m 'first commit'
[master (root-commit) 3f1b963] first commit
 6 files changed, 59 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 main.js
 create mode 100644 package.json
 create mode 100644 readme.markdown
 create mode 100644 views/index.ejs
 create mode 100644 views/layout.ejs
$ git remote add origin https://github.com/WEMP/project-slideshow.git
$ git push -u origin master
Username for 'https://github.com':

আমি কি ভুল করছি? এটি আমার আগে কখনও ঘটেনি তবে আমি সম্প্রতি 1.7.10.3 গিটেও আপগ্রেড করেছি।

উত্তর:


662

পরিবর্তে HTTP ব্যবহার এসএসএইচ ব্যবহার করবেন না

পরিবর্তন

https://github.com/WEMP/project-slideshow.git 

প্রতি

git@github.com:WEMP/project-slideshow.git

আপনি .git/configফাইল এটি করতে পারেন


1
ধন্যবাদ! আমি কেবল স্ট্যাকওভারফ্লো.com /a/ 10126412 / 29347 পড়ার পরে এটি বুঝতে পেরেছি, আমি মনে করি না গিথুব সাধারণত HTTPS হিসাবে আমাকে একটি রেপো রিমোট দেয় যা কিছু বিভ্রান্তির কারণ হয়েছিল।
কিট সুন্দ

2
আপনি যেখানে আপনার ক্লোন ইউআরএল অনুলিপি করেছেন সেই বোতামটি ক্লিক করে আপনি এই বিকল্পটি পরিবর্তন করতে পারেন।
ডেরেক অ্যাডায়ার

ম্যাকোসের জন্য। আপনি যখন সর্বশেষতম ম্যাকোসে আপগ্রেড করবেন তখন ইস্যু করুন। stackoverflow.com/a/39616339/1445102
1Rhino

12
আপনি স্ট্যাকওভারফ্লোgit remote set-url origin git@github.com:user/repo.git . com
এবং শেষ পর্যন্ত

54

আমার এই একই সমস্যা ছিল এবং আমি ভাবলাম কেন এটি https এর সাথে ক্লোন করা বিটবকেটের রেপোতে কেন ঘটেনি। এটি কিছুটা অনুসন্ধান করে দেখতে পেলাম যে বিবি রেপোর কনফিগারেশনের একটি ইউআরএল রয়েছে যা আমার ব্যবহারকারীর নামটি অন্তর্ভুক্ত করে। সুতরাং আমি নিজেই আমার জিএইচ রেপোর জন্য কনফিগারটি সম্পাদনা করেছি এবং ভয়েলা, আর কোনও ব্যবহারকারীর নাম নয়। আমি উইন্ডোজ এ আছি

সম্পাদনা your_repo_dir/.git/config(মনে রাখবেন: .gitফোল্ডারটি লুকানো রয়েছে)

পরিবর্তন:

https://github.com/WEMP/project-slideshow.git

প্রতি:

https://*username*@github.com/WEMP/project-slideshow.git

ফাইলটি সংরক্ষণ করুন। একটি কি git pullএটা পরীক্ষা করা হবে।

এটি করার সঠিক উপায়টি সম্ভবত সেটিংস সম্পাদনা করার জন্য গিট ব্যাশ কমান্ড ব্যবহার করে, তবে ফাইলটি সরাসরি সম্পাদনা করা কোনও সমস্যা বলে মনে হয় নি।


এটি একটি ভাল বিষয়, আপনি যদি ব্যবহারকারীর নাম অন্তর্ভুক্ত করেন তবে এটি ওএস কীচেইন দ্বারা পরিচালিত হবে (কমপক্ষে এটি ওএসএক্সে হওয়া উচিত, এবং সম্ভবত উইন্ডোজেও)। নোটপ্যাড বা ভিএম / ইমাস / ন্যানো / ভিআই দিয়ে ফাইল সম্পাদনা করার মধ্যে কোনও পার্থক্য নেই, আমি প্রযুক্তিগত স্নোববারি নিয়ে এত চিন্তা করব না এটি যাইহোক এটি কেবল একটি সরল পাঠ্য ফাইল।
কিট সানদে

20

এখানে এটির একটি সরকারী উত্তর :

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

ব্যবহার একটি HTTPS দ্বারা দূরবর্তী URL টি কিছু সুফল রয়েছে: এটা, SSH চেয়ে সেট আপ করা আরো সহজ, এবং সাধারণত কঠোর ফায়ারওয়াল এবং প্রক্সি মাধ্যমে কাজ করে। তবে, প্রতিবার কোনও সংগ্রহশালা টানতে বা ধাক্কা দেওয়ার সময় এটি আপনাকে গিটহাব শংসাপত্রগুলি প্রবেশ করার অনুরোধ জানায়।

আপনি নিজের পাসওয়ার্ড সংরক্ষণ করতে গিটটি কনফিগার করতে পারেন। আপনি যদি সেট আপ করতে চান, পাসওয়ার্ড ক্যাশে সেট আপ সম্পর্কে সমস্ত পড়ুন ।


1
ধন্যবাদ। আমি গিতুবের সাথে তর্ক করব যে আপনি যদি এখানেই শেষ করেন তবে সেটআপ করা সহজ নয় (:
পরিবেশবিদ

এটি একটি প্রশ্নের উত্তর কারণ প্রশ্নটি জিজ্ঞাসা করে, কেন ?
eli

14

@ ইয়ানেলের উত্তরে উন্নতি করা ,

দেখে মনে হচ্ছে যদি 2-পদক্ষেপের প্রমাণীকরণ সক্ষম করা থাকে তবে আপনাকে পাসওয়ার্ডের পরিবর্তে টোকেন ব্যবহার করতে হবে। আপনি এখানে একটি টোকেন তৈরি করতে পারেন ।

আপনি যদি ব্যবহারকারীর নাম এবং পাসওয়ার্ড উভয়ের জন্য অনুরোধগুলি অক্ষম করতে চান তবে আপনি URL টি নীচের মতো সেট করতে পারেন -

git remote set-url origin https://username:password@github.com/WEMP/project-slideshow.git

মনে রাখবেন যে ইউআরএলটির ব্যবহারকারীর নাম এবং পাসওয়ার্ড উভয়ই রয়েছে। এছাড়াও .git/configফাইলটি আপনার বর্তমান সেটিংস প্রদর্শন করবে।


20200128 আপডেট করুন:

আপনি যদি কনফিগ ফাইলে পাসওয়ার্ডটি সংরক্ষণ করতে না চান তবে আপনি নিজের ব্যক্তিগত টোকেন তৈরি করতে পারেন এবং টোকেন দিয়ে পাসওয়ার্ডটি প্রতিস্থাপন করতে পারেন। এখানে কিছু বিবরণ দেওয়া হল

এটি দেখতে এই রকম হবে -

git remote set-url origin https://username:token@github.com/WEMP/project-slideshow.git

এটি কি নিরাপদ? কেউ কি কেবল আমার কম্পিউটার থেকে এই তথ্য অ্যাক্সেস করতে পারেন?
আকাইস্টেফ 7

হ্যাঁ, তারা আপনার কম্পিউটার থেকে অ্যাক্সেস করতে পারে যেহেতু এগুলি .git/configফাইলের সরল পাঠ্যে সংরক্ষণ করা হয়
কাউশাল

11

একটি অতিরিক্ত নোট:

যদি আপনি ইতিমধ্যে একটি রিমোট যুক্ত করেছেন ($ গিট রিমোট অ্যাড অরিজিন ...) এবং সেই নির্দিষ্ট দূরবর্তীটি পরিবর্তন করতে হবে তবে নতুন এবং উন্নত রেপো ইউআরএল পুনরায় যুক্ত করার আগে প্রথমে একটি রিমোট অপসারণ করুন (it গিট রিমোট আরএম উত্স) (যেখানে "উত্স" দূরবর্তী রেপোর নাম ছিল)।

তাই আসল উদাহরণটি ব্যবহার করতে:

$ git remote add origin https://github.com/WEMP/project-slideshow.git
$ git remote rm origin
$ git remote add origin https://github-username@github.com/WEMP/project-slideshow.git

4
আপনাকে রিমোট সরাতে হবে না। আপনি কেবল ইউআরএল পরিবর্তন করতে পারেন:git remote set-url origin https://github-username@github.com/WEMP/project-slideshow.git
শোভাভনিক

8

আপনি যদি এইচটিটিপিএস ব্যবহার করে থাকেন তবে আপনার ইউআরএল সঠিক কিনা তা পরীক্ষা করে দেখুন। উদাহরণ স্বরূপ:

$ git clone https://github.com/wellle/targets.git
Cloning into 'targets'...
Username for 'https://github.com': ^C

$ git clone https://github.com/wellle/targets.vim.git
Cloning into 'targets.vim'...
remote: Counting objects: 2182, done.
remote: Total 2182 (delta 0), reused 0 (delta 0), pack-reused 2182
Receiving objects: 100% (2182/2182), 595.77 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1044/1044), done.

1
এটি একটি দুর্দান্ত পয়েন্ট! আপনার যদি ইউআরএলটিতে টাইপো থাকে, আপনার কাছে 'ইউজারনেম' দেওয়ার জন্য অনুরোধ করা হবে পরিবর্তে ভান্ডারটির অস্তিত্ব নেই বলে জানানো হবে।
দিমিত্রি

5

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

পাসওয়ার্ড প্রম্পট প্রকৃতপক্ষে স্বাভাবিক github.com লগইন বিশদ গ্রহণ করে। কীভাবে পাসওয়ার্ড ক্যাশে সেট আপ করতে হবে তার একটি টিউটোরিয়াল https://help.github.com/articles/set-up-git#password-caching এ পাওয়া যাবে । আমি টিউটোরিয়ালের পদক্ষেপগুলি অনুসরণ করেছি এবং এটি আমার পক্ষে কাজ করেছে।


1
ইউআরএল আপডেট করা হয়েছে: help.github.com/articles/caching-your-github-password-in-git
MarkHu

4

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

গিথুবের জন্য কীভাবে এসএসএইচ কী তৈরি করা যায়


4

আপনি যদি দুটি ফ্যাক্টর প্রমাণীকরণ সক্ষম করে থাকেন তবে আপনাকে ব্যক্তিগত অ্যাক্সেস টোকেন তৈরি করতে হবে এবং এটি আপনার নিয়মিত পাসওয়ার্ডের পরিবর্তে ব্যবহার করতে হবে। এখানে আরও তথ্য: https://help.github.com/articles/creating-an-access-token-for-command-line-use/


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