প্রতিবার আমি ধাক্কা দিলে গিট ব্যবহারকারীর নাম জিজ্ঞাসা করে


675

যখনই আমি আমার রেপোতে pushোকানোর চেষ্টা করি তখন উভয়ের জন্যই জিজ্ঞাসা করি username & password

প্রতিবার আমার পাসওয়ার্ডটি পুনরায় প্রবেশে আমার কোনও সমস্যা নেই তবে সমস্যাটি ব্যবহারকারী নাম প্রবেশ করানোর ক্ষেত্রে। আমি httpsআমার সংগ্রহশালা ক্লোন করতে ব্যবহার করি।

সুতরাং, আমি কীভাবে গিটটি কনফিগার করতে পারি যাতে এটি usernameপ্রতিটির জন্য জিজ্ঞাসা না করে git push

আমি লিনাক্সে নতুন তবে উইন্ডোজগুলিতে আইআইআরসি git pushকেবল পাসওয়ার্ড চাইবে ।


1
সম্পর্কিত প্রশ্ন: স্ট্যাকওভারফ্লো.
com/

@ ওয়াগ: তবে আমি পাসওয়ার্ড সঞ্চয় করতে চাই না। আমি কেবল ব্যবহারকারীর নামটি সঞ্চয় করতে চাই।
রানর্যাগ

4
এই দিকনির্দেশগুলি অনুসরণ করে এবং পাসওয়ার্ড লাইন বাদ দেওয়ার চেষ্টা করুন।
বুড়ো


আপনার প্রাথমিক প্রশ্নের
সুপারইউজারের

উত্তর:


975

সম্পাদনা করুন (মডারেটর এবং মন্তব্যগুলির দ্বারা প্রস্তাবিত @ dk14 দ্বারা)

সতর্কতা: আপনি যদি credential.helper storeউত্তরটি ব্যবহার করেন তবে আপনার পাসওয়ার্ডটি সম্পূর্ণ এনক্রিপ্ট করা ("যেমন আছে") তে সংরক্ষণ করা হবে ~/.git-credentials। দয়া করে নীচে মন্তব্য বিভাগে বা "লিঙ্কযুক্ত" বিভাগের উত্তরগুলি দেখুন, বিশেষত যদি সুরক্ষার সমস্যাগুলির ক্ষেত্রে আপনার নিয়োগকর্তা শূন্য সহনশীলতা রাখেন।

স্বীকৃত হওয়া সত্ত্বেও, এটি কেবলমাত্র একটি ব্যবহারকারীর নাম বাদ দেওয়া (পাসওয়ার্ড নয়) সম্পর্কে আসল ওপির প্রশ্নের উত্তর দেয় না। সেই সঠিক সমস্যাটি নিয়ে পাঠকদের জন্য @ মাধ্যাকর্ষণ উত্তরটি কাজে লাগতে পারে।


আসল উত্তর (@ আলেকজান্ডার ঝু দ্বারা):

আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনার শংসাপত্রগুলি সংরক্ষণ করতে পারেন

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

আমি আপনাকে পড়ার পরামর্শ দিচ্ছি
$ git help credentials


160
সতর্কতা, এই পদ্ধতিতে কোনও সুরক্ষা নেই। আপনার পাসওয়ার্ড প্লেইন টেক্সট হিসাবে সংরক্ষণ করা হয়।
লাকাটা

13
আপনি এখানে নিরাপত্তা অর্জন করা ভালো উপায় খুঁজতে পারেন - stackoverflow.com/a/28104587/1809978
dk14

4
@ মার্কলকাতা - দয়া করে আমাকে বলুন যে আমি এই উত্তরে আদেশটি কীভাবে পূর্বাবস্থায় ফিরিয়ে আনতে পারি? আমি এটিকে পূর্বাবস্থায় ফেলার পরে, শংসাপত্রগুলি সংরক্ষণ করার জন্য আমি একটি সুরক্ষিত পদ্ধতি ব্যবহার করব।
মাস্টারজয়ে 2

25
@ testerjoe2 চেষ্টা করুনgit config --unset credential.helper
dk14

1
সময়সীমা নির্ধারণ করতে ভুলবেন না, ডিফল্ট 15 মিনিট হয় - প্রায় 1 বছর থাকতে 30 মিলিয়নে মান সেট করুন। এখানে পাওয়া গেছে: স্ট্যাকওভারফ্লো.
com

180

আপনি .git/configআপনার স্থানীয় সংগ্রহস্থলের ফাইলটিতে এটি সম্পাদন করতে পারেন । এই ফাইলটিতে 'ইউআরএল' নামে একটি এন্ট্রি সহ 'রিমোট' নামে একটি বিভাগ রয়েছে। 'ইউআরএল' এন্ট্রিতে আপনি যে ভাণ্ডারের কথা বলছেন তার https লিঙ্কটি থাকা উচিত।

আপনি যখন আপনার ব্যবহারকারীর নাম দিয়ে হোস্ট 'url' উপস্থাপন করেন, gitআপনার আর ব্যবহারকারীর নাম জিজ্ঞাসা করা উচিত নয়। এখানে একটি উদাহরণ:

url = https://username@repository-url.com

5
আপনি যদি নিজের ব্যবহারকারীর নাম বা পিডব্লিউতে বিশেষ অক্ষর ব্যবহার করেন তবে আপনার সেগুলি এড়ানো উচিত। ডান পালানোর অক্ষরের জন্য en.wikedia.org/wiki/Percent-escape দেখুন । উদাহরণস্বরূপ "! @ #" [উদ্ধৃতিগুলি ছাড়াই] "% 21% 40% 23" দ্বারা প্রতিস্থাপন করা হবে। নীচে "ড্যানিয়েল লার্চ" উত্তরটি দেখুন
nsof

1
একই সংগ্রহস্থলে কাজ করা অন্যান্য ব্যক্তিরা কি আমার ব্যবহারকারী নাম দেখতে পাবেন?
কোডিবাগস্টাইন

17
এটি ওপি-র প্রশ্নের সঠিক উত্তর হওয়া উচিত, যেমন "কীভাবে ব্যবহারকারীর নাম বজায় রাখতে হবে, পাসওয়ার্ড নয়"। এই উত্তরটি ব্যবহারকারীর নাম ধরে রাখার সঠিক উপায়ই নয়, এটির সম্ভাব্য সুরক্ষা ঝুঁকিকেও এড়িয়ে চলে git config credential.helper store
রায়লুও

আমি এই উত্তরের জন্য কৃতজ্ঞ এবং এইভাবে চেষ্টা করেছি, তবে এটি প্রতিবারই আমাকে জিজ্ঞাসা করে (v 2.1.4) - নাম @gitlab.com এবং নাম০40mailaddress.com@gitlab.com সহ রিমোটারল চেষ্টা করে - এটি সর্বদা জিজ্ঞাসা করেusername for https://gitlab.com:
ইলি

1
আমি এটি চেষ্টা করেছি এবং পেয়েছিunable to access 'https://<me>@bitbucket.org:<x>/<y>.git/': Illegal port number
আয়ান গ্রেঞ্জার

118

গিট সংগ্রহস্থলগুলির সাথে স্থায়ীভাবে প্রমাণীকরণ

শংসাপত্রের ক্যাশে সক্ষম করতে নিম্নলিখিত কমান্ডটি চালান:

$ git config credential.helper store
$ git push https://github.com/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://USERNAME@github.com': <PASSWORD>

ব্যবহারের ক্ষেত্রে ক্যাশিংয়ের মেয়াদও নির্দিষ্ট করা উচিত

git config --global credential.helper "cache --timeout 7200"

শংসাপত্রের ক্যাশে সক্ষম করার পরে, এটি 7200 সেকেন্ড (2 ঘন্টা) জন্য ক্যাশে হবে ।


পড়ুন পরিচয়পত্র ডক্স

$ git help credentials

আমি টাইমআউটটি 7200 এ সেট করেছিলাম But তবে তারপরে আমি পরীক্ষার জন্য এটি 5 এ সেট করার সিদ্ধান্ত নিয়েছিলাম। সুতরাং আমি এটিকে 5 এ সেট করেছিলাম, কিন্তু তারপর আমি যখন 30 সেকেন্ড পরে আবার ধাক্কা দেওয়ার চেষ্টা করি, তবে আমাকে ব্যবহারকারীর নাম বা পাসওয়ার্ড জিজ্ঞাসা করা হয়নি।
বাটল বাটকাস

আপনার শংসাপত্র বিশ্বব্যাপী না সঞ্চয় হতে পারে।
জে প্যাটেল

সুরক্ষার বিষয়ে, ডক্সগুলি উল্লেখ করার মতো: "এই কমান্ডটি ভবিষ্যতের গিট প্রোগ্রামগুলি ব্যবহারের জন্য স্মৃতিতে শংসাপত্রগুলি রাখে The সঞ্চিত শংসাপত্রগুলি কখনই ডিস্কটিকে স্পর্শ করে না এবং কনফিগার করার সময়সীমা পেরিয়ে যাওয়ার পরে ভুলে যায়।" git-scm.com/docs/git-credential-cache
mloskot

2
git config credntial.helper storeসেই বিপজ্জনক কমান্ডটি কি নয় , যা plain / .git- শংসাপত্রের ফাইলগুলিতে প্লেটেক্সট-শংসাপত্রগুলি সংরক্ষণ করার জন্য দায়বদ্ধ? আমি মনে করি (এবং আমার অভিজ্ঞতায়) ... ক্যাশে ...- কমান্ডটি যথেষ্ট: git config --clogal credential.helper 'cache --timeout 7200'এটি ডিয়ার তৈরি করে : এতে ~/.git-credential-cacheক্যাশে-ফাইল সহ, সুতরাং, কেবল এই আদেশটি সম্পাদন করুন এবং "... স্টোর" না
eli

আমার পক্ষে কাজ করেনি। এখনও প্রতিবারের জন্য পাসওয়ার্ড জিজ্ঞাসা করছেন
ইয়ান গ্রেনার

75

গিটহাবের এই নিবন্ধে বর্ণিত হিসাবে নতুন এসএসএইচ কী যুক্ত করুন

গীত এখনও ব্যবহারকারীর নাম ও পাসওয়ার্ড চাইলে পরিবর্তনের চেষ্টা https://github.com/করার git@github.com:দূরবর্তী URL- এ:

$ git config remote.origin.url 
https://github.com/dir/repo.git

$ git config remote.origin.url "git@github.com:dir/repo.git"

19
এটি সঠিক উত্তর হওয়া উচিত! আপনার শংসাপত্র সংরক্ষণ অবিশ্বাস্যভাবে নিরাপদ নয়। আমার যদি জায়গায় কোনও এসএসএইচ কী থাকে তবে এটি আমাকে আমার শংসাপত্র জিজ্ঞাসা করছে কারণ এখানে বর্ণিত হিসাবে সঠিক URL নেই।
অ্যালেক্সিস উইলক

2
বা আপনি ব্যবহার করতে পারেনgit config remote.origin.url "ssh://git@yourRepoHost/yourRepoName.git"
ndarkness

1
গিট কনফিগারেশন রিমোট.রিগিন.আরল গিট@gitlab.com: অ্যাডামমাজেউসকি / রশ্মি-পশ্চাদপদ-পুনরাবৃত্তি.git
অ্যাডাম

1
ধন্যবাদ, আমি এই উত্তরটি খুঁজছিলাম।
ইউপেং টাং

50

সবচেয়ে সহজ উপায়টি আমি খুঁজে পেয়েছি হ'ল এই আদেশটি দিয়ে:

git config --global credential.https://github.com.username <your_username>

এটি সাইটের ভিত্তিতে কোনও সাইটে কাজ করে এবং আপনার গ্লোবাল গিট কনফিগারেশনকে সংশোধন করে।

পরিবর্তনগুলি দেখতে, ব্যবহার করুন:

git config --global --edit

1
কোনও কারণে এটি আমার জন্য কাজ করা একমাত্র পদ্ধতি ছিল। ধন্যবাদ!
গণিত

এই পদ্ধতিটি কি নিরাপদ? গিথুব পাসওয়ার্ড কি কেবল স্থানীয় কম্পিউটারে সঞ্চিত থাকে এবং গিথুবকে ঠেলে দেওয়া হয় না?
আকিন হাওয়ান

আমি জানি না কেন এটি অনুমোদিত উত্তর নয়, কমান্ডটি পুরোপুরি কাজ করে এবং পুরো এবং কেবল এই প্রশ্নের জবাব দেয়: ব্যবহারকারীর নাম সংরক্ষণ করা, পাসওয়ার্ড নয়। ধন্যবাদ বেন!
AmaelH

এছাড়াও আপনি চালাতে পারেন: [Git কনফিগ --global credential.helper 'ক্যাশে --timeout = 3600'] সুতরাং আপনার পাসওয়ার্ড এক ঘন্টার জন্য সংরক্ষণ করুন প্রতিটি সময় হতে হবে
obenda

31

আপনি যদি ssh এর পরিবর্তে https ব্যবহার .git/configকরেন তবে 7070648 এর ব্যবহারকারী হিসাবে আপনি "url" সম্পাদনা করতে পারবেন , তবে আপনি চাইলে পাসওয়ার্ডটিও যুক্ত করতে পারেন:

url = https://username:password@repository-url.com

1
@আমার পাসওয়ার্ডে যদি অন্তর্ভুক্ত থাকে তবে কী হবে ? url = https://username:abc@123@repository-url.comএটি আমাকে ত্রুটি দিচ্ছেCould not resolve host: @123@git.com
রাহুল মানকার

usernameঅংশ উপেক্ষা করা বলে মনে হয়, যখন (যেমন foo থেকে FOO.git হিসেবে) সার্ভারে পুনঃনির্দেশ।
মিখাইল টি।

22

আপনার গিট কনফিগারেশন ফাইলে নীচের মতো কিছু রেখে আপনি কোনও রেজিস্ট্রি একটি নির্দিষ্ট সাইটে আপনার ব্যবহারকারী নাম সেট করতে পারেন। আপনি আসল ইউআরএল এবং আপনার প্রকৃত ব্যবহারকারীর নামতে " https://example.com " এবং "আমি" পরিবর্তন করতে চাইবেন ।

[credential "https://example.com"]
    username = me

(এটি সরাসরি "গিট সহায়তা শংসাপত্রগুলি থেকে")


16

ক্লোন করা রেপো পরিবর্তন করে:

git remote set-url origin git@github.com:gitusername/projectname.git

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


এই (GitHub জন্য একটি সঠিক উত্তরের কোন প্রশ্ন বিশেষভাবে জিজ্ঞাসা করা হয় ... (নিশ্চিত না তুমি কেন downvoted পেয়েছিলাম) হয়।
টিম Groeneveld

12

নিশ্চিত হয়ে নিন যে আপনি http এর পরিবর্তে এসএসএইচ ব্যবহার করছেন। এই এসও উত্তরটি পরীক্ষা করুন ।


3
তবে আমাকে ব্যবহার করতে হয়েছিল httpকারণ আমার বিশ্ববিদ্যালয়ে sshসিস-অ্যাডমিন বিভাগ দ্বারা অবরুদ্ধ।
রানরাগ

তাহলে সম্ভবত এই লিঙ্কটি আপনাকে সহায়তা করবে।
gkris

এটিতে এখন একটি অফিসিয়াল গিটহাব সহায়তা পৃষ্ঠা রয়েছে। আমার জন্য যা ঘটেছিল আমি লগ ইন করার আগে আমার নিজের একটি রেপো ক্লোন করেছিলাম যাতে এটি আমাকে চিনতে পারে না এবং আমি বিশ্বাস করি যে এইচটিটিপিএসে ডিফল্ট হয়েছিল। help.github.com/articles/changing-a-remote-s-url
anon58192932


9

ব্যবহারকারীর 701648 এর উত্তর ছাড়াও, নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি প্রকল্পের ফোল্ডারের পরিবর্তে আপনার শংসাপত্রগুলি আপনার বাড়ির ফোল্ডারে (সমস্ত প্রকল্পের জন্য বিশ্ব) সংরক্ষণ করতে পারেন

$ git config --global credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

9

যখন আমি কেবল গিট টান করি , গিট পুলের উত্সত xxx , গিট ইউজারনেম এবং পাসওয়ার্ড উভয়ই জিজ্ঞাসা করে।

git config credential.helper store

এটা কাজ করে।


9

সবচেয়ে সহজ উপায় হল ~/.netrcনিম্নলিখিত বিষয়বস্তু সহ একটি ফাইল তৈরি করা :

machine github.com
login YOUR_GITHUB_USERNAME
password YOUR_GITHUB_PASSWORD

(এখানে প্রদর্শিত হিসাবে: https://gist.github.com/ahoward/2885020 )

এমনকি আপনি এই ফাইলটিতে অনুমতিগুলি বন্ধ করতে পারেন যাতে টাইপ করে কেউ আপনার পাসওয়ার্ডটি পড়তে না পারে:

chmod 600 ~/.netrc

6

আপনি ব্যবহার করেন তাহলে , SSH সংস্করণ, আপনি passwords.Only এক সময় আপনি জেনারেট সঙ্গে কোনো সমস্যা থাকবে না , SSH Git বলতে কী, যে এই পিসি সঙ্গে কাজ করবে এই GitHub অ্যাকাউন্ট এবং আমাকে কোন অ্যাক্সেস (এই পিসির জন্য) সম্পর্কে আবার জিজ্ঞাসা।

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


4

ব্যবহারকারীর নাম প্রবেশ করা এড়ানোর জন্য, তবে একটি পাসওয়ার্ড প্রবেশের জন্য অনুরোধ জানানো হবে, তারপরে আপনি কেবল ব্যবহারকারীর নাম সহ আপনার ভান্ডারটি ক্লোন করতে পারবেন:

git clone user_name@example.gitrepo.com/my_repo.git

3
  1. it গিট কনফিগারেশন শংসাপত্র he সহায়তা দোকান

  2. it গিট পুশ / পুশ https://github.com/xxx.git

  3. তারপরে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন।

  4. সম্পন্ন

git push/push https://github.com/xxx.gitএটি হওয়া উচিত নয়git push https://github.com/xxx.git
মহসিন

3

ssh+ + key authenticationচেয়ে বেশি নির্ভরযোগ্য উপায় https+ +credential.helper

আপনি নিম্নলিখিত হিসাবে সমস্ত সংগ্রহস্থলের জন্য এইচটিটিপিএস এর পরিবর্তে এসএসএইচ ব্যবহার করতে কনফিগার করতে পারেন:

git config --global url.ssh://git@github.com/.insteadOf https://github.com/

url.<base>.insteadOfএখানে নথিভুক্ত করা হয়


2

দ্রুত পদ্ধতি

কাজ করার সময় ভিতরে গিটের url পান:

git config remote.origin.url

তারপরে:

git config credential.helper store

git push "url of your git"

শেষ একবার ব্যবহারকারীর নাম এবং পাসওয়ার্ড জিজ্ঞাসা করবে

সম্পন্ন.


1

আপনি শুধু চালাতে পারেন

git config --global credential.helper wincred

আপনার সিস্টেমে উইন্ডোগুলির জন্য জিআইটি ইনস্টল এবং লগ ইন করার পরে।


ডিও প্রশ্নটিতে লিনাক্স শব্দটি দেখতে পেল না। আমার খারাপ
সাইপারপঙ্ক

1

(শুধুমাত্র ম্যাক ওএসের জন্য)

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

গিথুব ডকুমেন্টেশন থেকে: ডকুমেন্টেশন লিঙ্ক

গিটে আপনার গিটহাব পাসওয়ার্ডটি ক্যাচ করা হচ্ছে

  • অক্সকিচেইন শংসাপত্র সহায়ক ব্যবহার করার জন্য আপনার গিট 1.7.10 বা আরও নতুন প্রয়োজন।

    আপনার গিট সংস্করণ পরীক্ষা করতে: git --version

  • অক্সকিচেইন সহায়কটি ইতিমধ্যে ইনস্টল করা আছে তা খুঁজে পেতে :

    git credential-osxkeychain

    যদি আপনি নিম্নলিখিত প্রতিক্রিয়া পেয়ে থাকেন তবে আপনার এটি ইতিমধ্যে ইনস্টল হয়ে গেছে এবং আপনার ম্যাকটিতে ব্যবহারের জন্য প্রস্তুত:

    > Usage: git credential-osxkeychain <get|store|erase>

    আপনি যদি উপরে বর্ণিত কোনও প্রতিক্রিয়া না পেয়ে থাকেন তবে নিম্নলিখিত কমান্ডের সাহায্যে এটি ইনস্টল করতে পারেন:

    git credential-osxkeychain

  • গিটকে বিশ্বব্যাপী গিট শংসাপত্রগুলির জন্য অক্সকিচেন ব্যবহার করতে বলতে:

    git config --global credential.helper osxkeychain

    কীচেইনে শংসাপত্রগুলি সংরক্ষণ করার আগে এটি একবার অনুরোধ করবে ।

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