গিট [গিটএক্সটেনশন] এ কীভাবে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ করবেন?


1231

আমি প্রতিবার কোনও প্রম্পটে আমার ব্যবহারকারী এবং পাসওয়ার্ড প্রবেশ না করে গিটএক্সটেনশনে একটি ধাক্কা ব্যবহার করতে এবং স্বয়ংক্রিয়ভাবে টানতে চাই।

তাহলে আমি কীভাবে আমার শংসাপত্রগুলি গিটে সংরক্ষণ করতে পারি?


1
আপনি এসএসএইচ এর মাধ্যমেও প্রমাণীকরণ করতে পারবেন: stackoverflow.com/questions/6565357/…
আন্তন তারাসেনকো


1
@ অ্যান্টনটারাসেনকো আমার গিটকনফিগ প্রক্সি সম্পর্কে কিছুই বলেছেন না, কেবলমাত্র [ব্যবহারকারী] ইমেল = ইমেল @ ডামি ডটকম নাম = আনাম [শংসাপত্র] সাহায্যকারী = দোকান
জিসি 7__

উত্তর:


2192

চালান

git config --global credential.helper store

তারপর

git pull

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

আপনি যদি পরে পাসওয়ার্ড পরিবর্তন করতে চান

git pull

ব্যর্থ হবে, কারণ পাসওয়ার্ডটি ভুল, গিটটি আপত্তিজনক ব্যবহারকারীর + পাসওয়ার্ডটি ~/.git-credentialsফাইল থেকে সরিয়ে দেয় , তাই এখনই আবার চালনা করুন

git pull

একটি নতুন পাসওয়ার্ড সরবরাহ করতে যাতে এটি আগের মতো কাজ করে।


6
পাসওয়ার্ড পরিবর্তন করার পরে কীভাবে ফ্ল্যাগটি গুরুত্বপূর্ণ?
লুসিডব্রোট

8
ডেবিয়ান / উবুন্টুর জন্য লিবাসেরেট স্ট্যাকওভারফ্লো.com/ প্রশ্নসান / 6565৫৫৫৯66/২ ব্যবহার করুন
রোফ্রোল

3
@ দ্য লুসিডব্রোট দেরিতে উত্তর দেওয়ার জন্য দুঃখিত গিট টানুন - সর্বশেষ সংস্করণে কাজ করছেন না। আমি উত্তর আপডেট করেছি। আশা করি এটি আপনার প্রশ্নের উত্তর দেবে।
নীতিকিকা

51
নোট করুন যে এটি আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি plain / .git- শংসাপত্রগুলিতে একটি সরল পাঠ্য ফাইলে সংরক্ষণ করবে। যে কেউ এটি খুলতে এবং এটি পড়তে পারেন।
রোবোক্লেক্স

12
এটি কাজ করে না। এটি টানতে ব্যর্থ হয়।
Urasquirrel

348

আপনি git configগিটে শংসাপত্রের স্টোরেজ সক্ষম করতে এটি ব্যবহার করতে পারেন ।

git config --global credential.helper store

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

এরপরে, দূরবর্তী সংগ্রহস্থলের সাথে পরিণতিপূর্ণ যোগাযোগের জন্য আপনাকে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সরবরাহ করতে হবে না।

স্টোরেজ ফর্ম্যাট হ'ল একটি .git-credentialsফাইল, প্লেইন টেক্সটে সঞ্চিত।

এছাড়াও, আপনি git config credential.helperমেমরি ক্যাশে এর জন্য অন্যান্য সহায়কগুলিও ব্যবহার করতে পারেন :

git config credential.helper cache <timeout>

timeout parameterশংসাপত্রগুলি কতক্ষণ স্মরণে রাখা হবে তা নির্ধারণ করে এটি একটি alচ্ছিক লাগে । সহায়কটি ব্যবহার করে, শংসাপত্রগুলি কখনই ডিস্কটিকে স্পর্শ করবে না এবং নির্দিষ্ট সময়সীমা শেষে মুছে যাবে। defaultমান900 seconds (15 minutes).


সতর্কতা : আপনি যদি এই পদ্ধতিটি ব্যবহার করেন তবে আপনার গিট অ্যাকাউন্টের পাসওয়ার্ডগুলি plaintextবিন্যাসে global .gitconfig file, যেমন, লিনাক্সে সংরক্ষণ করা হবে/home/[username]/.gitconfig

যদি এটি আপনার কাছে অযাচিত হয় তবে ssh keyপরিবর্তে আপনার অ্যাকাউন্টগুলির জন্য একটি ব্যবহার করুন।


3
আপনি কি .gitconfig ফাইলটি দেখিয়েছেন - প্রথম কমান্ডটি দ্বিতীয়টি দ্বারা ওভাররাইট করা হয়েছে :(
অ্যাডাম

3
জন্য git config credential.helper cacheপাসওয়ার্ড একটি ফাইলে সংরক্ষণ করা হবে না, কেবল স্মৃতি সংরক্ষণ করা হয়। দেখুন: git-scm.com/docs/git-credential-cache
SA

1
কাজ করে না. মারাত্মক দেয়: প্রমাণীকরণ ব্যর্থ হয়েছে। এমনকি পাসওয়ার্ড চাইতেও না।
ফিলিপ রেগো

2
ঠিক যেমন একটি সংযোজন - আপনার ব্যক্তিগত এসএস-কীটি ব্যবহারকারী-অ্যাক্সেসযোগ্য স্থানে সরলরেখায় সংরক্ষণ করা হবে, সুতরাং সংক্ষেপে উভয় ক্ষেত্রে একই আক্রমণ পৃষ্ঠ।
ফালকো

কিভাবে আমি gitlab এই ব্যবহার করতে পারেন
অনিল

169

প্রস্তাবিত এবং সুরক্ষিত পদ্ধতি: এসএসএইচ

একটি এসএসএস গিথুব কী তৈরি করুন। যান github.com -> সেটিংস ->, SSH এবং -কি -> নতুন ssh কী। এখন আপনার কম্পিউটারে আপনার ব্যক্তিগত কী সংরক্ষণ করুন।

তারপর, যদি ব্যক্তিগত কী হিসেবে সংরক্ষিত হয় id_rsa মধ্যে ~ / .ssh / ডিরেক্টরির, আমরা এটা যেমন প্রমাণীকরণের জন্য যোগ করুন:

ssh-add -K ~/.ssh/id_rsa


আরও সুরক্ষিত পদ্ধতি: ক্যাচিং

আমরা কিছু সময়ের জন্য আমাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড ক্যাশে গিট-শংসাপত্রের দোকান ব্যবহার করতে পারি। আপনার সিএলআইতে কেবল নিম্নলিখিতটি প্রবেশ করান (টার্মিনাল বা কমান্ড প্রম্পট):

git config --global credential.helper cache

আপনি টাইম আউট পিরিয়ড (সেকেন্ডে) সেট করতে পারেন:

git config --global credential.helper 'cache --timeout=3600'


এমনকি আরও কম নিরাপদ পদ্ধতি

গিট-শংসাপত্রের দোকানও ব্যবহার করা যেতে পারে তবে আপনার ডিস্কে প্লেইন ফাইলে পাসওয়ার্ডগুলি সংরক্ষণ করে:

git config credential.helper store


পুরানো উত্তর - দ্রুত এবং অনিরাপদ

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

আপনি আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি এভাবে সেট করতে পারেন:

git config --global user.name "your username"

git config --global user.password "your password"

15
এটি আমার পক্ষে কাজ করে না, গিট ক্লোনটি এখনও ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেয়েছে
অলিভার

11
আমি আপনার পাসওয়ার্ডটি এই জাতীয়ভাবে সংরক্ষণ করার প্রস্তাব দিচ্ছি না কারণ "গিট কনফিগার - গ্লোবাল-এল" কনসোলে আপনার পাসওয়ার্ড প্রকাশ করবে
সিসিসি ২

1
এটি আমার জন্য কাজ করছে না। এটি আশ্চর্যজনক যে এটি কারও পক্ষে কাজ করা উচিত, যেহেতু গিটকনফিগের স্পেসিফিকেশনে "পাসওয়ার্ড" থাকার কোনও জায়গা নেই
হামিশ টড

.gitconfig হ'ল আলাদা ফাইল: আপনার বাড়ির ফোল্ডারে অবস্থিত .git- শংসাপত্রগুলিতে ইউআরএলটিতে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে রেপো করার জন্য URL থাকে, ঠিক যেমন: git: // ব্যবহারকারীর নাম: পাসওয়ার্ড @ সার্ভার / গিট / রেপো সাবধান থাকুন, এটি সংরক্ষিত প্লেইন পাঠ্য পাসওয়ার্ড। আপনি ssh কী ব্যবহার করতে না পারলে "গিট কনফিগারেশন - গ্লোবাল ক্রেডেনশিয়াল.হেল্পার ক্যাশে" ব্যবহার করুন।
স্ক্যাবিট

আমি যখন ম্যানুয়ালি ব্যবহারকারীর এবং পাসওয়ার্ড যুক্ত করার চেষ্টা করেছি তখন কনফিগারেশন ফাইলটি ভেঙে যায় এবং আমাকে আবার রেপো ক্লোন করতে হয়েছিল। এটি চেষ্টা করে দেখুন না ..
লেটি টেচেরা

102

শংসাপত্র সহায়কটি চালু করুন যাতে গিট আপনার পাসওয়ার্ডকে স্মৃতিতে কিছু সময়ের জন্য সংরক্ষণ করবে:

টার্মিনালে, নিম্নলিখিত লিখুন:

# Set git to use the credential memory cache
git config --global credential.helper cache

ডিফল্টরূপে, গিট আপনার পাসওয়ার্ডটি 15 মিনিটের জন্য ক্যাশে করবে।

ডিফল্ট পাসওয়ার্ড ক্যাশে টাইমআউট পরিবর্তন করতে, নিম্নলিখিত লিখুন:

# Set the cache to timeout after 1 hour (setting is in seconds)
git config --global credential.helper 'cache --timeout=3600'

গিটহাব সহায়তা থেকে


7
আপনি একমাত্র যিনি বৈশ্বিক সংস্করণটির পরামর্শ দিয়েছেন যা গুরুত্বপূর্ণ, কারণ এটি প্রতিবারই পুনরায় ক্লোন করা আমার জন্য নষ্ট হয়ে গেছে
জেরুস

4
সময়সীমা কীভাবে অনন্তকে সেট করবেন? আমি আর কখনও আমার পাসওয়ার্ড প্রবেশ করতে চাই না।
আওমেন্দ্র

8
@ অ্যাভামান্ডার কেবলমাত্র cacheঅংশটি প্রতিস্থাপন করুন store। সুতরাং, পূর্ণ কমান্ড হবে: git config --global credential.helper store। নোট করুন যে এটি আপনার পাসওয়ার্ডটি একটি খোলা-পাঠ্য ফাইলে সংরক্ষণ করবে (কোনও এনক্রিপশন ছাড়াই, তাই বলে)।
আলেকসানদার

2
@ ক্যাস্পার যা একাধিক অ্যাকাউন্টের সাথে কাজ করে না, পাসওয়ার্ডটি স্টোর থেকে ই-মেইলের উপর ভিত্তি করে তৈরি করা উচিত নয়, পরিবর্তে তালিকার প্রথমটি নেওয়া হবে।
আওমাদার

2
@ আভমান্ডার এইচএম .. এমনটি হওয়ার কথা নাকি এটি বাগ হতে পারে? --timeoutপ্যারামিটারের সর্বাধিক মান কত ?
আলেকসানদার

50

আপনি সম্পাদনা করতে পারেন ~/.gitconfigফাইল সংরক্ষণ আপনার পরিচয়পত্র

sudo nano ~/.gitconfig

যা ইতিমধ্যে থাকা উচিত

[user]
        email = your@email.com
        user = gitUSER

এই ফাইলের নীচে আপনার যুক্ত করা উচিত।

[credential]
        helper = store

আমি এই বিকল্পটির সুপারিশ করার কারণ হ'ল এটি বিশ্বব্যাপী এবং যদি কোনও মুহুর্তে আপনাকে বিকল্পটি সরিয়ে ফেলতে হবে তবে আপনাকে কোথায় যেতে হবে এবং কী পরিবর্তন করতে হবে তা আপনি জানেন।

আপনার ব্যক্তিগত কম্পিউটারে এই বিকল্পটি ব্যবহার করুন।

তারপরে আপনি যখন টানবেন | ক্লোন | আপনার গিট পাসওয়ার্ড লিখুন, সাধারণভাবে, পাসওয়ার্ডটি ~/.git-credentialsফর্ম্যাটে সংরক্ষণ করা হবে

https://GITUSER:GITPASSWORD@DOMAIN.XXX

যেখানে DOMAIN.XXX গিথাব.কম থাকতে পারে BITBUCKET.ORG | অন্যান্য

দস্তাবেজগুলি দেখুন

আপনার টার্মিনালটি পুনরায় চালু করুন।


1
গিট ব্যাশ উইন্ডোটি পুনরায় চালু করতে ভুলবেন না। আমি যখন এটি করেছি তখনই এটি আমার পক্ষে কাজ করেছিল।
সফফ 1

33

কেবল আপনার শংসাপত্রগুলি এইভাবে url এ রাখুন:

https://Username: Password@github.com/myRepoDir/myRepo.git

আপনি এটি এটি সংরক্ষণ করতে পারেন:

git remote add myrepo https://Userna...

... এটি ব্যবহারের উদাহরণ :

git push myrepo master


এখন যে হয় তালিকাভুক্ত URL alias লেখা:

git remote -v

... এবং তাদের মধ্যে একটি মুছে ফেলার আদেশ:

git remote rm myrepo


8
আপনি নিজের পাসওয়ার্ডটি ইউআরএল থেকেও ছাড়তে পারেন যাতে গিট আপনার পাসওয়ার্ড চাইবে, তবে আপনার ব্যবহারকারীর নাম নয়।
ক্যাঙ্গারু

এটি HTTP এর পরিবর্তে এসএসএইচ ব্যবহার করা অনেক সহজ এবং সুরক্ষিত। সুতরাং, আপনি আপনার গিট পাসওয়ার্ডটি গোপন রাখতে পারেন এবং কেবল আপনার এসএসএইচ-কী ব্যবহার করতে পারেন। গিট-এ এসএসএইচ সম্পর্কিত তথ্য: সহায়তা. github.com/en/enterprise/2.16/user/… git@github.com:Username/myRepo.git
লচ

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

নোট করুন যে উইকি বর্তমানে কেবল ক্লোন করা যেতে পারে https, না ssh, তাই এর মতো সমাধান সেখানে কার্যকর হতে পারে। এছাড়াও খেয়াল করুন যে আপনি একটি ওউথ-টোকেন ব্যবহার করতে পারেন যা আপনার গিটহাব পাসওয়ার্ডের তুলনায় সামান্যতম সুরক্ষিত।
অ্যাস্ট্রোফ্লয়েড

31

গ্লোবাল সেটিংয়ের জন্য, টার্মিনালটি খুলুন (যে কোনও জায়গা থেকে) নিম্নলিখিতটি চালান:

  git config --global user.name "your username"
  git config --global user.password "your password"

তারপরে, আপনার মেশিনে থাকা কোনও স্থানীয় গিট রেপো সেই তথ্য ব্যবহার করবে।

আপনি প্রতিটি রেপো পৃথকভাবে কনফিগার করতে পারেন:

  • রেপো ফোল্ডারে টার্মিনাল খুলুন।
  • নিম্নলিখিত চালান:

    git config user.name "your username"
    git config user.password "your password"
    

এটি কেবলমাত্র সেই ফোল্ডারটিকেই প্রভাবিত করে (কারণ আপনার কনফিগারেশনটি স্থানীয়।


8
কোনও সাধারণ কনফিগারেশনের ফাইল যেমন কারও দ্বারা দর্শনযোগ্য তা কী বিপজ্জনক নয়?
bool3max

1
আপনার প্রশ্ন অন্য বিষয়ের জন্য হওয়া উচিত। এখানে আমরা গিট গ্লোবাল এবং স্থানীয়ভাবে নাম এবং পাসওয়ার্ড কীভাবে কনফিগার করতে হয় সে সম্পর্কে আলোচনা করব।
Tuananhcwrs

বন্ধু ইনপুট জন্য ধন্যবাদ
bool3max

11
আমি কেবল এটি যুক্ত করতে চাই যে উত্তরের সম্ভাব্য সুরক্ষার সমস্যা সম্পর্কে জিজ্ঞাসা করার একটি জায়গা এখানে রয়েছে কারণ এটি সরাসরি এটির গুণমানকে প্রভাবিত করে এবং সম্ভবত এটি হাজার হাজার ব্যবহারকারীর প্রয়োগ করে।
মাইকেল কারগল

2
আমার জন্য কাজ করে না, --localট্যাগ যুক্ত হয় কিন্তু আবার কিছুই হয় না
পেয়ামবিরামি

23

আপনি কেবলমাত্র ফাইল সিস্টেমের অনুমতি দ্বারা সুরক্ষিত আপনার পাসওয়ার্ডগুলি ডিস্কে এনক্রিপ্ট না করে সঞ্চয় করতে গিট-শংসাপত্র-স্টোর ব্যবহার করতে পারেন।

উদাহরণ

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

[several days later]
$ git push http://example.com/repo.git
[your credentials are used automatically]

আপনি ফাইলটিতে সঞ্চিত শংসাপত্রগুলি পরীক্ষা করতে পারেন ~/.git-credentials

আরও তথ্যের জন্য গিট-শংসাপত্রের দোকানে যান - ডিস্কে শংসাপত্রগুলি সংরক্ষণ করতে সহায়ক


17

আপনি যদি ব্যবহারকারীর নাম / পাসওয়ার্ড প্রমাণীকরণের চেয়ে এসএসএইচ প্রমাণীকরণ ব্যবহার করেন তবে আপনি আরও সুরক্ষিত থাকবেন।

আপনি যদি ম্যাক ব্যবহার করছেন তবে এসএসএইচ ক্লায়েন্টের প্রমাণীকরণ ম্যাকোএস কীচেইনে একীভূত হবে। আপনি যখন একটি এসএসএইচ কী তৈরি করেন, আপনার টার্মিনালটিতে টাইপ করুন:

ssh-add -K ~/.ssh/id_rsa

এটি ম্যাকোস কীচেইনে এসএসএইচ প্রাইভেট কী যুক্ত করবে। গিটার ক্লায়েন্ট এসটিএস ব্যবহার করবে যখন এটি রিমোট সার্ভারের সাথে সংযুক্ত হয়। যতক্ষণ আপনি সার্ভারের সাথে আপনার ssh পাবলিক কীটি নিবন্ধভুক্ত করেছেন, আপনি ভাল থাকবেন be


1
K না K হওয়া উচিত?
dez93_2000

1
এফওয়াইআই: আমি একটি ম্যাক নিয়ে কাজ করছি। এটি "ম্যান" তথ্য থেকে: "-কে" এজেন্টের কাছ থেকে কীগুলি লোড বা মুছার সময়, কেবল সাধারণ সরল কীগুলি প্রক্রিয়া করুন এবং শংসাপত্রগুলি এড়িয়ে যান। "-K" পরিচয় যুক্ত করার সময়, প্রতিটি পাসফ্রেজ ব্যবহারকারীর কীচেইনেও সংরক্ষণ করা হবে। -D এর সাথে পরিচয় অপসারণ করার সময়, প্রতিটি পাসফ্রেজ এটি থেকে সরানো হবে।
বিরল এফে

3
Https- ভিত্তিক সংগ্রহস্থলের জন্য এই কাজটি আমি মনে করি না।
জাকম্যাক

5
এই উত্তরটি SSH প্রাইভেট কীগুলির সাথে পাসওয়ার্ডগুলি (এইচটিটিপিএস রেপো) বিভ্রান্ত করছে।
স্টিভ বেনেট

2
আমি একমত নই হোস্টকে অ্যাক্সেস দিয়ে আপনি আরও সুরক্ষিত হতে পারবেন না SSH। HTTP প্রমাণীকরণ ব্যবহার করে, যে কেউ শংসাপত্রগুলি চুরি করে তার কেবল অ্যাক্সেস থাকবে GitHub/GitLab। এছাড়াও টোকেন একটি সীমিত জীবন থাকতে ডিজাইন করা হয়েছে।
দিমিত্রি কোপ্রিভা

16

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

ভ্যানিলা ডিভোপস গিট শংসাপত্র এবং ব্যক্তিগত প্যাকেজগুলি চিটশিট

এই সমস্ত উপায় এবং সরঞ্জামগুলি যার মাধ্যমে আপনি কোনও ইন্টারেক্টিভ পাসওয়ার্ড প্রম্পট ছাড়াই কোনও সংগ্রহস্থল ক্লোন করতে গিটটি সুরক্ষিতভাবে প্রমাণ করতে পারবেন ।

  • এসএসএইচ পাবলিক কী
    • SSH_ASKPASS
  • এপিআই অ্যাক্সেস টোকেন
    • GIT_ASKPASS
    • পরিবর্তে .gitconfig
    • .gitconfig [শংসাপত্র]
    • .git-পরিচয়পত্র
    • .netrc
  • ব্যক্তিগত প্যাকেজগুলি (বিনামূল্যে)
    • নোড / এনপিএম প্যাকেজ.জসন
    • পাইথন / পিপ / ডিম প্রয়োজনীয়তা। txt
    • রুবি রত্ন রত্ন
    • গোলং Go.mod

সিলভার বুলেট

জাস্ট ওয়ার্কস চান? এই ম্যাজিক সিলভার বুলেট।

আপনার অ্যাক্সেস টোকন পান (চিত্রে শীটশীটের বিভাগটি দেখুন যদি তার জন্য গিথুব বা গিটার নির্দেশাবলীর প্রয়োজন হয়) এবং একটি পরিবেশ পরিবর্তনশীল (স্থানীয় দেব এবং স্থাপনার জন্য উভয়) এ সেট করুন:

MY_GIT_TOKEN=xxxxxxxxxxxxxxxx

গিটহাব জন্য, কপি এবং এই লাইন চালানো ধারণকৃত :

git config --global url."https://api:$MY_GIT_TOKEN@github.com/".insteadOf "https://github.com/"
git config --global url."https://ssh:$MY_GIT_TOKEN@github.com/".insteadOf "ssh://git@github.com/"
git config --global url."https://git:$MY_GIT_TOKEN@github.com/".insteadOf "git@github.com:"

অভিনন্দন, এখন কোনও স্বয়ংক্রিয় সরঞ্জাম ক্লোনিং গিট সংগ্রহস্থল https ব্যবহার করে বা এসএসএল ইউআরএল স্টাইল ব্যবহার করে কোনও পাসওয়ার্ড প্রম্পট দ্বারা বাধা দেওয়া হবে না।

গিথুব ব্যবহার করছেন না?

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

সঙ্গতি

এটি ম্যাকওএস, লিনাক্স, উইন্ডোজ (বাশ-এ), ডকার, সার্কেলসিআই, হেরোকু, আকারেসিস, ইত্যাদিতে স্থানীয়ভাবে কাজ করে

অধিক তথ্য

চিটশিটের ".gitconfig পরিবর্তেOf" বিভাগটি দেখুন।

নিরাপত্তা

চিটশিটের "সুরক্ষা" বিভাগটি দেখুন।


2
এটি একটি জীবনরক্ষক। ধন্যবাদ।
এনিওমফ

2
আমি কি পর ছিল git config --global credential."https://somegithost.com".username MyUserName, যা মধ্যে আপনার cheatsheet, কিন্তু না কোথাও এই উত্তর থ্রেড। সেই নির্দিষ্ট সমাধানটি ওপি-র প্রশ্নের উত্তর দেয় না, তবে এটি আমার উত্তর দিয়েছে, তাই ধন্যবাদ!
TheDudeAbides

1
এটা চমৎকার !!! সেরা উত্তর, অনেক অনেক ধন্যবাদ।
পারসা

12

সেক্ষেত্রে নিম্নলিখিত কমান্ড লাইনটি ব্যবহার করে আপনার গিটহাব পাসওয়ার্ড এবং ব্যবহারকারীর নাম মনে রাখার জন্য গিটকে বলতে গিট শংসাপত্রের সাহায্যকারী দরকার:

git config --global credential.helper wincred 

এবং আপনি যদি এসএসএইচ কী ব্যবহার করে রেপো ব্যবহার করছেন তবে প্রমাণীকরণের জন্য আপনার এসএসএইচ কী প্রয়োজন।


11

উপরের কোনও উত্তরই আমার পক্ষে কার্যকর হয়নি। আমি যতবার চাইছি নিম্নলিখিতগুলি পেতে থাকলাম fetchবা pull:

Enter passphrase for key '/Users/myusername/.ssh/id_rsa':


ম্যাকদের জন্য

আমি আমার পাসফ্রেজ জিজ্ঞাসা করে এটি আটকাতে সক্ষম হয়েছি:

  1. চালিয়ে কনফিগারেশন খুলুন: vi ~/.ssh/config
  2. নিম্নলিখিত যুক্ত করা হয়েছে: UseKeychain yes
  3. সংরক্ষিত এবং প্রস্থান করুন: Esc টিপুন , তারপরে প্রবেশ করুন:wq!

উইন্ডোজ জন্য

আমি এই স্ট্যাকেক্সচেঞ্জের তথ্য ব্যবহার করে এটি কাজ করতে সক্ষম হয়েছি: https://unix.stackexchange.com/a/12201/348665


কারণ আপনি এসএসএইচ প্রোটোকল ব্যবহার করছেন (অন্যান্য উত্তরগুলি এইচটিটিপিএস ব্যবহার করে)।
মারিউসম

6

~/.gitconfigফাইলটি সম্পাদনা করা ছাড়াও , আপনি যদি জিজ্ঞাসা করেন তবে আপনি এটি করতে পারেন:

git config --local --edit

অথবা

git config --global --edit

সর্বদা একক উদ্ধৃতি ব্যবহার করার জন্য নোট :

git config --local user.name 'your username'
git config --local user.password 'your password'

অথবা

git config --global user.name 'your username'
git config --global user.password 'your password'

আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড এমন কয়েকটি অক্ষর ব্যবহার করতে পারে যা আপনি ডাবল উদ্ধৃতি ব্যবহার করলে আপনার পাসওয়ার্ডটি ভেঙে যায়।

--localবা এর --globalঅর্থ কনফিগারেশন প্যারামগুলি প্রকল্পের জন্য বা ওএস ব্যবহারকারীর জন্য সংরক্ষিত আছে।


আরও একটি ব্যাখ্যা করে যে এটি দেখুন।
prosti থেকে

6

শুধু ব্যবহার

git config --global credential.helper store

এবং গিট টানুন , এটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড চাইবে, এখন থেকে এটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডের জন্য কোনও প্রম্পট সরবরাহ করবে না এটি বিশদ সংরক্ষণ করবে


4
আপনি কেবলমাত্র গৃহীত উত্তর পুনরাবৃত্তি করেছেন ।
jsamol

4

.Git- শংসাপত্রগুলিতে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ করুন

.git-credentialsআপনি যখন চালান তখন আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড (অ্যাক্সেস টোকেন) সংরক্ষণ করা হয় git config --global credential.helper store, যা অন্য উত্তরগুলি সূচিত করে এবং তারপরে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড টাইপ করুন বা অ্যাক্সেস টোকেন:

https://${username_or_access_token}:${password_or_access_token}@github.com

সুতরাং, ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ করার জন্য (অ্যাক্সেস টোকেন):

git config —-global credential.helper store
echo “https://${username}:${password_or_access_token}@github.com“ > ~/.git-credentials

এটি গিথব রোবোটের জন্য খুব দরকারী, উদাহরণস্বরূপ, বিভিন্ন শাখার জন্য নিয়ম রেখে একই ডকারের সংগ্রহস্থলে চেইন স্বয়ংক্রিয় বিল্ডগুলি সমাধান করতে এবং তারপরে post_pushডকার হাবের ভিতরে এটির মাধ্যমে এটি চালিত করে ট্রিগার করতে পারেন ।

এর উদাহরণ এখানে স্ট্যাকওভারফ্লোতে দেখা যায় ।


ধন্যবাদ, আপনি জীবন রক্ষাকারী! আমরা https: // {{ਪਹੁੰਚ_ টোকেন}: $ {অ্যাক্সেস_ টোকেন} @ github.com সেট করতেও পারি
লুকাস মেন্ডেস মোটা দা ফনসেকা

1
টুইটার
জিয়াআওও জু

3

গিট শংসাপত্রগুলি ক্যাশে করার একটি দ্রুত উপায়:

git config credential.helper 'cache' --timeout=10800

সুন্দর এবং নিরাপদ

সময়সীমা সেকেন্ডে হয়।


2

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

আমি প্রস্তাব দিলে নীচের পদ্ধতিটি সন্ধান করুন যদি আপনাকে (আমার মত) বেশ কয়েকটি পৃথক ব্যবহারকারীর নাম / পাসওয়ার্ড সংমিশ্রণ ব্যবহার করে বেশ কয়েকটি সরবরাহকারীর (গিটল্যাব, গিটহাব, বিটবকেট, ইত্যাদি) বিভিন্ন সংগ্রহস্থল নিয়ে কাজ করতে হয়। পরিবর্তে যদি আপনার সাথে কাজ করার জন্য কেবল একটি একক অ্যাকাউন্ট থাকে তবে আপনি আগের উত্তরগুলিতে খুব ভালভাবে ব্যাখ্যা করা git config --global credential.helper storeবা git config --global user.name "your username"ইত্যাদি সমাধানগুলি নিয়োগ করা থেকে ভাল better

আমার সমাধান:

  1. বিশ্বব্যাপী শংসাপত্রগুলির সহায়কটি আনসেট করুন, যদি কিছু প্রাক্তন পরীক্ষার পথে চলে যায় :)

> git config --global --unset credentials.helper

  1. আপনার রেপোর মূল ডিরেক্টরিতে যান এবং স্থানীয় শংসাপত্র সহায়ক (যদি প্রয়োজন হয়) অক্ষম করুন

> cd /path/to/my/repo

> git config --unset credential.helper

  1. এতে আপনার রেপোর শংসাপত্রগুলি সংরক্ষণ করতে একটি ফাইল তৈরি করুন

> git config credential.helper 'store --file ~/.git_repo_credentials'

দ্রষ্টব্য : এই আদেশটি আপনার হোম ডিরেক্টরিতে ".git_repo_credentials" নামে একটি নতুন ফাইল তৈরি করে, যেখানে গিট আপনার শংসাপত্রগুলি সংরক্ষণ করে। আপনি যদি কোনও ফাইলের নাম নির্দিষ্ট না করেন তবে গিট ডিফল্ট ".git_credentials" ব্যবহার করে। এক্ষেত্রে কেবল নিম্নলিখিত আদেশটি জারি করলে তা করা যাবে:

> git config credential.helper store

  1. আপনার ব্যবহারকারী নাম সেট করুন

git config credential.*.username my_user_name

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

git config credential.https://gitlab.com.username my_user_name

এই মুহুর্তে আপনি যদি আপনার শংসাপত্রগুলির প্রয়োজনের জন্য একটি কমান্ড জারি করেন (উদাহরণস্বরূপ git pull) আপনাকে "আমার_উজার_নাম" এর সাথে সম্পর্কিত পাসওয়ার্ড জিজ্ঞাসা করা হবে। এটি কেবল একবারের জন্য প্রয়োজনীয় কারণ গিট শংসাপত্রগুলি ".git_repo_credentials" এ সঞ্চয় করে এবং পরবর্তী অ্যাকসেসগুলিতে স্বয়ংক্রিয়ভাবে একই ডেটা ব্যবহার করে।


2

লিনাক্স উবুন্টু সম্পর্কে রাইফ্রোলের মন্তব্য থেকে, এই উত্তরটি , এখানে উবুন্টুতে রয়েছে:

sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

অন্য কিছু ডিস্ট্রো বাইনারি সরবরাহ করে যাতে আপনার এটি তৈরি করতে হবে না।

ওএস এক্স-এ এটি সাধারণত "অক্সকিচেইন" এর একটি ডিফল্ট মডিউল দিয়ে "নির্মিত" হয় যাতে আপনি এটি বিনামূল্যে পান।


2

অফিসিয়াল গিট ডকুমেন্টেশন চেক করুন:

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

ভাগ্যক্রমে, গিটের একটি শংসাপত্র সিস্টেম রয়েছে যা এটির সাথে সহায়তা করতে পারে। গিটের বাক্সে কয়েকটি বিকল্প সরবরাহ করা হয়েছে:

  • ডিফল্ট মোটেও ক্যাশে হয় না। প্রতিটি সংযোগ আপনাকে আপনার ব্যবহারকারী নাম এবং পাসওয়ার্ডের জন্য অনুরোধ করবে।

  • "ক্যাশে" মোড একটি নির্দিষ্ট সময়ের জন্য স্মৃতিতে শংসাপত্র রাখে। কোনও পাসওয়ার্ডই কখনও ডিস্কে সংরক্ষণ করা হয় না এবং 15 মিনিটের পরে সেগুলি ক্যাশে থেকে মুছে ফেলা হয়।

  • "স্টোর" মোড শংসাপত্রগুলি ডিস্কের একটি সরল-পাঠ্য ফাইলগুলিতে সংরক্ষণ করে এবং সেগুলির মেয়াদ কখনই শেষ হয় না। এর অর্থ হ'ল যতক্ষণ না আপনি গিট হোস্টের জন্য আপনার পাসওয়ার্ড পরিবর্তন করেন, আপনাকে আর আপনার শংসাপত্রগুলি টাইপ করতে হবে না। এই পদ্ধতির খারাপ দিকটি হ'ল আপনার পাসওয়ার্ডগুলি আপনার বাড়ির ডিরেক্টরিতে একটি সরল ফাইলে ক্লিয়ারটেক্সটে সংরক্ষণ করা হয়।

  • আপনি যদি ম্যাক ব্যবহার করছেন তবে গিটটি একটি "অক্সকিচেইন" মোড নিয়ে আসে যা আপনার সিস্টেম অ্যাকাউন্টে সংযুক্ত সুরক্ষিত কীচেইনে শংসাপত্রগুলি ক্যাশে করে। এই পদ্ধতিটি শংসাপত্রগুলি ডিস্কে সঞ্চয় করে এবং এগুলির কখনই মেয়াদ শেষ হয় না তবে তারা একই সিস্টেমের সাথে এনক্রিপ্ট করা হয় যা এইচটিটিপিএস শংসাপত্র এবং সাফারি অটো-ফিলগুলি সঞ্চয় করে।

  • আপনি যদি উইন্ডোজ ব্যবহার করেন তবে আপনি "উইন্ডোজের জন্য গিট শংসাপত্র ব্যবস্থাপক" নামে একটি সহায়ক ইনস্টল করতে পারেন। এটি উপরে বর্ণিত "অস্কেচেইন" সহায়কটির মতো, তবে সংবেদনশীল তথ্য নিয়ন্ত্রণ করতে উইন্ডোজ শংসাপত্রের স্টোর ব্যবহার করে। এটি https://github.com/Mic Microsoft/Git-Credential-Manager- for- উইন্ডোতে পাওয়া যাবে ।

গিট কনফিগারেশন মান সেট করে আপনি এই পদ্ধতিগুলির মধ্যে একটি চয়ন করতে পারেন:

$ git config --global credential.helper cache

$ git config --global credential.helper store

https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage

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