গিটহাবের শংসাপত্রগুলি ক্যাশ করার জন্য কি কোনও উপায় রয়েছে?


1867

আমি সম্প্রতি আমার সংগ্রহশালাটি https: // এ গিটহাবের (ফায়ারওয়ালের সমস্যার কারণে) সিঙ্ক্রোনাইজ করতে চলেছি এবং এটি প্রতিবার পাসওয়ার্ড চেয়েছে।

শংসাপত্রগুলি ক্যাশে করার কোনও উপায় নেই, প্রতিবারের মতো প্রমাণীকরণের পরিবর্তে git push?



2
_netrcআপনার শংসাপত্রগুলি যুক্ত ফাইলটিকে এনক্রিপ্ট করতে এখন আপনি কোনও শংসাপত্র সহায়ক ব্যবহার করতে পারেন । দেখুন নিচের আমার উত্তর । আমি এটি দেখতে পেয়েছি যে git-credential-winstore.exeউইন্ডোজে (মেমরি ক্যাশে) কিছুটা বগি।
ভোনসি


git-credential-winstoreউইন্ডোজ জন্য সবচেয়ে ভাল কাজ। বগি কি? Ssh সেট আপ করা পছন্দসই বিকল্প, যদিও আমি এটি বেশ কয়েকবার করেছি, এটি বেশিরভাগ ত্রুটিযুক্ত প্রবণতা এবং কখনও কখনও কেবল প্লেইন কাজ করে না যখন আপনাকে একাধিক হোস্টের সাথে সংযোগ করতে হবে।
ব্রোন ডেভিস

2
"এসএসএইচ শংসাপত্র" দ্বারা আমি ধরে নিয়েছি আপনার অর্থ "এসএসএইচ ব্যক্তিগত কী"।
মাইকেল মায়ার

উত্তর:


2369

গিট সংস্করণ সহ 1.7.9 এবং তারপরে

গিট ১.7.৯ (জানুয়ারীর শেষের দিকে প্রকাশিত হয়েছে), এইচটিটিপি / এইচটিটিপিএসের জন্য আপনার পাসওয়ার্ডটি সর্বদা টাইপ না করা এড়াতে গিটের একটি ঝরঝরে প্রক্রিয়া রয়েছে, যাকে শংসাপত্র সহায়ক বলা হয় । ( নীচের মন্তব্যে এই নতুন বৈশিষ্ট্যটি দেখানোর জন্য ড্যাজনিক ধন্যবাদ Thanks )

গিট 1.7.9 বা তার পরে, আপনি কেবল নিম্নলিখিত শংসাপত্র সহায়কগুলির মধ্যে একটি ব্যবহার করতে পারেন:

git config --global credential.helper cache

... যা গিটকে আপনার পাসওয়ার্ডকে (ডিফল্টরূপে) 15 মিনিটের জন্য মেমরিতে ক্যাশে রাখতে বলে। আপনি এর সাথে আরও দীর্ঘ সময়সীমা নির্ধারণ করতে পারেন:

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

(এই উদাহরণটি লিনাক্সের জন্য গিটহাব সহায়তা পৃষ্ঠায় প্রস্তাবিত হয়েছিল )) আপনি চাইলে আপনার শংসাপত্রগুলি স্থায়ীভাবে সংরক্ষণ করতে পারেন, নীচের অন্যান্য উত্তরগুলি দেখুন।

গিটহাবের সহায়তা এও পরামর্শ দেয় যে আপনি যদি ম্যাক ওএস এক্সে থাকেন এবং গিট ইনস্টল করতে হোমব্রিউ ব্যবহার করেন তবে আপনি স্থানীয় ম্যাক ওএস এক্স কীস্টোরটি ব্যবহার করতে পারেন:

git config --global credential.helper osxkeychain

উইন্ডোজের জন্য উইন্ডোজের জন্য গিট শংসাপত্র ব্যবস্থাপক বা এমএসসিগিতে উইনক্রেড নামে একটি সহায়ক রয়েছে

git config --global credential.helper wincred # obsolete

উইন্ডোজ 2.7.3+ (মার্চ 2016) এর জন্য গিট সহ :

git config --global credential.helper manager

লিনাক্সের জন্য, আপনি (বা অন্যান্য কীরিং বাস্তবায়ন যেমন কেওয়াললেট) ব্যবহারgnome-keyring করতে পারেন

1.7.9 এর আগে গিট সংস্করণ সহ

1.7.9 এর আগে গিতের সংস্করণগুলির সাথে, এই আরও সুরক্ষিত বিকল্পটি উপলভ্য নয় এবং আপনাকে originএই ফ্যাশনে পাসওয়ার্ড অন্তর্ভুক্ত করার জন্য আপনার দূরবর্তী ব্যবহার করা URL টি পরিবর্তন করতে হবে :

https://you:password@github.com/you/example.git

... অন্য কথায় :passwordব্যবহারকারীর নাম পরে এবং এর আগে @

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

git config remote.origin.url https://you:password@github.com/you/example.git

আপনি যে ব্যবহার করেছেন তা নিশ্চিত হয়ে নিন httpsএবং আপনার সচেতন হওয়া উচিত যে আপনি যদি এটি করেন তবে আপনার গিটহাব পাসওয়ার্ডটি আপনার .gitডিরেক্টরিতে প্লেইন টেক্সটে সংরক্ষণ করা হবে যা স্পষ্টতই অনাকাঙ্ক্ষিত।

যে কোনও গিট সংস্করণ সহ (ভাল, সংস্করণ ০.৯৯ থেকে)

একটি বিকল্প পদ্ধতির নাম হল আপনার ~/.netrcফাইলের মধ্যে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড রাখা , যদিও, দূরবর্তী ইউআরএল পাসওয়ার্ড রাখার পাশাপাশি, এর অর্থ হল যে আপনার পাসওয়ার্ডটি ডিস্কে প্লেইন পাঠ্যে সংরক্ষণ করা হবে এবং এইভাবে কম সুরক্ষিত এবং প্রস্তাবিত নয়। তবে, আপনি যদি এই পদ্ধতিটি নিতে চান তবে নীচের লাইনটি আপনার যুক্ত করুন ~/.netrc:

machine <hostname> login <username> password <password>

... <hostname>সার্ভারের হোস্টনাম <username>এবং <password>আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে প্রতিস্থাপন করা হচ্ছে । সেই ফাইলটিতে সীমাবদ্ধ ফাইল সিস্টেমের অনুমতি সেট করতেও মনে রাখবেন:

chmod 600 ~/.netrc

নোট করুন যে উইন্ডোজে, এই ফাইলটি কল করা উচিত _netrcএবং আপনার জন্য% হোম% পরিবেশ পরিবর্তনশীল সংজ্ঞায়িত করতে হতে পারে - আরও তথ্যের জন্য দেখুন:


72
আপনার পাসওয়ার্ডটি সরল পাঠ্যে সংরক্ষণ করবেন না। গিট 1.7.9 হিসাবে আপনি শংসাপত্র সহায়কগুলি ব্যবহার করতে পারেন। git config --global credential.helper osxkeychainওএস এক্স-এ। অন্যান্য ওএসের জন্য হেল্প.github.com/articles/set-up-git
dazonic

6
এফডাব্লুআইডাব্লু, অসক্স কীচেন স্টাফগুলি বেস জিআইটি উত্স কোডের অংশ, এটি ব্রিউ বা ম্যাকপোর্টসের একচেটিয়া উপাদান নয় বা মাসের স্বাদ যাই হোক না কেন। এবং আপনাকে স্ক্র্যাচ থেকে গিট তৈরি করার দরকার নেই - কেবল সিডি অবদান / শংসাপত্র / অক্সকিচেইন / এবং রান মেক করুন।
সিনথেসাইজারপ্যাটেল

2
দুটি ফ্যাক্টর প্রমাণীকরণের সাথে আপনাকে গিথাব একজন ব্যক্তির অ্যাক্সেস টোকেন বলে কী তা ব্যবহার করতে হবে । আসলে আপনার সর্বদা একটি ব্যবহার করা উচিত, যেমন একটি পাসওয়ার্ডের বিপরীতে আপনি এটি কী অ্যাক্সেস দেয় তা নিয়ন্ত্রণ করতে পারেন। ইউআরএলটিতে কেবল পাসওয়ার্ডটি প্রতিস্থাপন করুন যাতে আপনার শেষ হয় https://username:PERSONAL_ACCESS_TOKEN@github.com/username/project.git। এটি ডিস্কে সঞ্চিত সরল পাঠ্য পাসওয়ার্ডগুলি ব্যবহারের জন্য যথেষ্ট নিরাপদ করে তোলে।
রাসেল স্টুয়ার্ট

12
git config --global credential.helper cache: উইন্ডোজ না কাজ করে stackoverflow.com/questions/11693074/... ব্যবহার gitcredentialstore Windows এ একটি সুখী হতে
সেবাস্টিয়ান জে

8
এই সময়সীমা অসীমের জন্য সেট করার কোনও উপায়?
sudo

720

নিম্নলিখিতগুলি ব্যবহার করে স্থায়ীভাবে আপনার শংসাপত্রগুলি গিট স্টোর করে রাখতে পারেন:

git config credential.helper store

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

আপনি যদি গিটটি প্রতিবার দূরবর্তী সংগ্রহস্থলের সাথে সংযোগ স্থাপনের জন্য আপনাকে শংসাপত্রের জন্য পুনরায় জিজ্ঞাসা করতে চান তবে আপনি এই আদেশটি চালাতে পারেন:

git config --unset credential.helper

প্রকল্প ডিরেক্টরিটির বিপরীতে .git-credentialsআপনার %HOME%ডিরেক্টরিতে পাসওয়ার্ডগুলি সঞ্চয় করতে : --globalপতাকা ব্যবহার করুন

git config --global credential.helper store

7
উইন্ডোজ এ, আপনি উইন্ডোজ ক্রেডিটাল স্টোরটিতে আপনার জিআইটি পাসওয়ার্ডের একটি এনক্রিপ্ট করা সংস্করণ সংরক্ষণের জন্য কোনও সহায়তাকারী ইউটিলিটি জিনিসগুলি কনফিগার করতে পারেন, সঙ্গম
কনট্যাঙ্গো

76
আমি দেখতে পেলাম যে আমাকে - গ্লোবাল নির্দিষ্ট করতে হবে বা এটি বর্তমান সংগ্রহস্থলে সেটিংস সংরক্ষণ করার চেষ্টা করবে:git config --global credential.helper store
ব্রায়ান গর্ডন

6
কেন স্থায়ীভাবে সংরক্ষণের পরিবর্তে ক্যাশে করবে? কম্পিউটার শেয়ার করছি নাকি কিছু?
মাইকেল জে। ক্যালকিন্স

2
@ ব্রায়ান গর্ডন আমি উইন্ডোজে জিআইটি ১.৯.৫ ব্যবহার করছি, এবং --globalপতাকাটি অপ্রয়োজনীয় ছিল। এমনকি এই পতাকা ছাড়াও শংসাপত্র ফাইল %USER_HOME%ডিরেক্টরিতে তৈরি করা হয়েছিল ।
jFrenetic

2
যদি সরল পাঠ্যে সংরক্ষণ না করে তবে এটি কী দিয়ে সুরক্ষিত? আপনার পাসওয়ার্ড? আপনি যখন গিটের সাথে সংযোগ স্থাপন করবেন তখন কি আপনাকে আপনার প্রশাসকের পাসওয়ার্ডের জন্য জিজ্ঞাসা করতে হবে না? একটু পাসওয়ার্ড পেতে অন্য পাসওয়ার্ডটি প্রবেশ করতে হবে না?
ক্রুঙ্কার

101

TLDR; গিট 1.8.3+ সহ একটি এনক্রিপ্ট করা নেটআরসিআরসি ফাইল ব্যবহার করুন ।

উইন্ডোজের ~/.netrc(ইউনিক্স) বা %HOME%/_netrc(নোটটি নোট ) দিয়ে গিট সংগ্রহস্থল এইচটিটিপিএস URL- এর জন্য একটি পাসওয়ার্ড সংরক্ষণ করা সম্ভব_

তবে : এই ফাইলটি আপনার পাসওয়ার্ডটি সরল পাঠ্যে সংরক্ষণ করবে।

সমাধান : জিপিজি (জিএনইউ প্রাইভেসি গার্ড) দিয়ে সেই ফাইলটি এনক্রিপ্ট করুন এবং প্রতিবার পাসওয়ার্ডের প্রয়োজন হলে এটি গিট ডিক্রিপ্ট করুন ( push/ pull/ fetch/ cloneক্রিয়াকলাপের জন্য)।


দ্রষ্টব্য: গিট 2.18 (Q2 2018) এর সাথে, আপনি এখন এনক্রিপ্ট করা .netrcফাইলটি ডিক্রিপ্ট করতে ব্যবহৃত জিপিজি কাস্টমাইজ করতে পারেন ।

প্রতিশ্রুতিবদ্ধ 786ef50 দেখুন , প্রতিশ্রুতিবদ্ধ f07eeed (12 মে 2018) লুই মার্সাসানো (``) দ্বারা
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে কমিট 017b7c5 , 30 মে 2018)

git-credential-netrc: gpgবিকল্প গ্রহণ করুন

git-credential-netrcgpggpg.pogram বিকল্পটি নির্বিশেষে ' ' দিয়ে ডিক্রিপ্ট করার জন্য হার্ডকোড ছিল ।
এটি ডিবিয়ানের মতো বিতরণে একটি সমস্যা যা আধুনিক GnuPG কে অন্যরকম কল করে, ' gpg2' এর মতো


উইন্ডোজের জন্য ধাপে ধাপে নির্দেশাবলী

উইন্ডোজ সহ:

(গিটটির gpg.exeবিতরণে একটি রয়েছে , তবে একটি সম্পূর্ণ জিপিজি ইনস্টলেশন ব্যবহারের সাথে একটি অন্তর্ভুক্ত রয়েছে gpg-agent.exeযা আপনার জিপিজি কী সম্পর্কিত আপনার পাসফ্রেজ মুখস্থ করবে))

  • ইনস্টল করুন gpg4Win Lite, সর্বনিম্ন gnupg কমান্ড-লাইন ইন্টারফেস ( অতি সাম্প্রতিক সময় নিনgpg4win-vanilla-2.X.Y-betaZZ.exe ), এবং জিপিজি ইনস্টলেশন ডিরেক্টরিটি দিয়ে আপনার PATH সম্পূর্ণ করুন:

    set PATH=%PATH%:C:\path\to\gpg
    copy C:\path\to\gpg\gpg2.exe C:\path\to\gpg\gpg.exe

(' copy' কমান্ডটি নোট করুন : কমান্ডটি কার্যকর করতে গিটকে বাশ স্ক্রিপ্টের প্রয়োজন হবে ' gpg' যেহেতু gpg4win-vanilla-2আসে gpg2.exe, আপনাকে এটির নকল করতে হবে))

  • একটি জিপিজি কী তৈরি বা আমদানি করুন এবং এটিতে বিশ্বাস করুন:

    gpgp --import aKey
    # or
    gpg --gen-key

(এই কীটিতে একটি পাসফ্রেজ অবশ্যই রাখবেন তা নিশ্চিত করুন))

  • এই চাবি বিশ্বাস করুন

  • আপনার মধ্যে একটি ডিরেক্টরিতে শংসাপত্র সহায়ক সহায়ক স্ক্রিপ্ট ইনস্টল করুন %PATH%:

    cd c:\a\fodler\in\your\path
    curl -o c:\prgs\bin\git-credential-netrc https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc.perl

(সাবধান: স্ক্রিপ্টটির নাম Git 2.25.x / 2.26 এ নামকরণ করা হয়েছে, নীচে দেখুন)

(হ্যাঁ, এটি বাশ স্ক্রিপ্ট, তবে এটি উইন্ডোতে কাজ করবে যেহেতু এটি গিট ডেকে আনবে))

  • স্পষ্ট পাঠ্যে একটি _netrc ফাইল করুন

    machine a_server.corp.com
    login a_login
    password a_password
    protocol https
    
    machine a_server2.corp.com
    login a_login2
    password a_password2
    protocol https

(আপনি যে URL টি ব্যবহার করবেন তার উপর নির্ভর করে ' protocol' অংশ: ' http' বা ' https' ভুলবেন না ))

  • ফাইলটি এনক্রিপ্ট করুন:

    gpg -e -r a_recipient _netrc

(আপনি এখন করতে পারে মুছতে_netrc শুধুমাত্র পালন ফাইল, _netrc.gpgএনক্রিপ্ট করা এক।)

  • এনক্রিপ্ট করা ফাইলটি ব্যবহার করুন:

    git config --local credential.helper "netrc -f C:/path/to/_netrc.gpg -v"

(' /' নোট করুন : C:\path\to...মোটেও কাজ করবে না)) ( -v -dকী চলছে তা দেখতে আপনি প্রথমে ব্যবহার করতে পারেন ))

এখন থেকে, HTTP (এস) ইউআরএল ব্যবহার করে যে কোনও গিট কমান্ড যার অনুমোদনের প্রয়োজন রয়েছে সেই _netrc.gpgফাইলটি ডিক্রিপ্ট করবে এবং আপনি যে সার্ভারের সাথে যোগাযোগ করছেন তার সাথে যুক্ত লগইন / পাসওয়ার্ড ব্যবহার করবে। প্রথমবার, জিপিজি আপনাকে ফাইলটি ডিক্রিপ্ট করার জন্য আপনার জিপিজি কীটির পাসফ্রেজের জন্য জিজ্ঞাসা করবে। অন্যান্য সময়, প্রথম জিপিজি কল দ্বারা স্বয়ংক্রিয়ভাবে চালু হওয়া জিপিজি-এজেন্ট আপনার জন্য সেই পাসফ্রেজ সরবরাহ করবে।

এইভাবে, আপনি একটি ফাইলে বেশ কয়েকটি URL / লগইন / পাসওয়ার্ড মুখস্থ করতে পারেন এবং এটি আপনার ডিস্কে এনক্রিপ্ট করে সংরক্ষণ করতে পারেন।
আমি এটি "ক্যাশে" সহায়তাকারীর চেয়ে আরও সুবিধাজনক বলে মনে করি যেখানে আপনার প্রতিটি প্রত্যন্ত পরিষেবাসমূহের জন্য আলাদা পাসওয়ার্ড মনে রাখতে এবং টাইপ করতে হবে (মেমরির ক্যাশেড পাসওয়ার্ডের জন্য) said


গিট 2.26 (কিউ 12020) দিয়ে, ব্যবহারের জন্য নমুনা শংসাপত্র সহায়কটি .netrcবাক্সের বাইরে কাজ করার জন্য আপডেট করা হয়েছে। দেখুন প্যাচ / আলোচনা

কমিট 6579d93 দেখুন , কমেন্ট 1c78c78 (20 ডিসেম্বর 2019) ডেন্টন লিউDenton-L দ্বারা ( )
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে কমিট 1fd27f8 , 25 ডিসেম্বর 2019)

contrib/credential/netrc: PERL_PATHকনফিগারযোগ্য করা

সাইন-অফ-বাই: ডেন্টন লিউ

পার্ল দোভাষীর জন্য শেবাং পথটি git-credential-netrcহার্ডকোড করা হয়েছিল।
যাইহোক, কিছু ব্যবহারকারীর এটি অন্য কোনও জায়গায় অবস্থিত থাকতে পারে এবং সুতরাং, স্ক্রিপ্টটি ম্যানুয়ালি সম্পাদনা করতে হত।

.perlএটিকে টেমপ্লেট হিসাবে চিহ্নিত করতে এবং উত্পন্ন সংস্করণটিকে উপেক্ষা করার জন্য স্ক্রিপ্টটিতে একটি উপসর্গ যুক্ত করুন
বৃদ্ধি Makefileযাতে তা উত্পন্ন git-credential-netrcথেকে git-credential-netrc.perl, শুধু অন্যান্য পার্ল স্ক্রিপ্ট মত।

মেকফিল রেসিপিগুলি নির্লজ্জভাবে চুরি হয়ে গেছে contrib/mw-to-git/Makefile

এবং:

2.26 (Q1 2020) দিয়ে .netrc ব্যবহারের জন্য নমুনা শংসাপত্র সহায়কটি বাক্সের বাইরে কাজ করার জন্য আপডেট করা হয়েছে।

কমিট 6579d93 দেখুন , কমেন্ট 1c78c78 (20 ডিসেম্বর 2019) ডেন্টন লিউDenton-L দ্বারা ( )
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে কমিট 1fd27f8 , 25 ডিসেম্বর 2019)

contrib/credential/netrc: একটি রেপো বাইরে কাজ

সাইন-অফ-বাই: ডেন্টন লিউ

বর্তমানে, git-credential-netrcগিট সংগ্রহস্থলের বাইরে কাজ করে না। এটি নিম্নলিখিত ত্রুটির সাথে ব্যর্থ:

fatal: Not a git repository: . at /usr/share/perl5/Git.pm line 214.

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

এর স্ব-স্ব সংস্করণটি কল করুন config()যাতে git-credential-netrcআর কোনও সংগ্রহস্থলের মধ্যে চালানো দরকার না।

জেফ কিং ( peff) যোগ করেছেন:

আমি ধরে নিচ্ছি আপনি একটি জিপিজি-এনক্রিপ্টড ব্যবহার করছেন netrc(যদি না হয় তবে আপনার সম্ভবত ব্যবহার করা উচিত credential-store)।
"কেবলমাত্র পঠনযোগ্য" পাসওয়ার্ড অ্যাক্সেসের জন্য, আমি passকনফিগারেশনের সাথে এর সংমিশ্রণটি কিছুটা ভাল দেখতে পাই :

[credential "https://github.com"]
  username = peff
  helper = "!f() { test $1 = get && echo password=`pass github/oauth`; }; f"

1
লিনাক্সে একই জিনিস চেষ্টা করে .. গিট কনফিগারেশন - স্থানীয় যোগাযোগ গিট কমান্ড see দেখুন 'গিট - হেল্প' "
রোদ

4
@ সানি এটি এর curl -o c:\prgs\bin\git-credential-netrc https://raw.github.com/git/git/master/contrib/credential/netrc/git-credential-netrcজন্য: গিট ' ' কল করতে সক্ষম হওয়ার জন্য আপনাকে git-credential-netrcআপনার পথে ( $PATH) এর যে কোনও জায়গায় অনুলিপি করতে হবে credential-netrc
ভোনসি

ওয়েল, _netrcএকটি আমার জন্য কাজ না করে Windows 7পিসি, কিন্তু .netrcকাজ ইউটিউব-DL সঙ্গে --netrcযুক্তি এটি পাস।
Iulian Onofrei

@VonC বর্তমান URL হওয়া বলে মনে হয় https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc.perl(পরে 😉 সাত বছরে বংশীধ্বনিতুল্য)
Gwyneth Llewelyn

1
@ গুইনাথলেওলিন আপনাকে ধন্যবাদ আমি সেই অনুযায়ী উত্তরটি সম্পাদনা করেছি। আপনি যদি অন্য কোনও অপ্রচলিত তথ্য দেখতে পান তবে এটি সম্পাদনা করতে দ্বিধা করবেন না।
ভোনসি

43

এইচটিটিপিএস ইউআরএলে ব্যবহারকারীর শংসাপত্রগুলি সংরক্ষণ করার জন্য একটি সহজ, পুরাতন ফ্যাশন পদ্ধতি রয়েছে:

https://user:password@github.com/...

আপনি এর সাথে ইউআরএল পরিবর্তন করতে পারেন git remote set-url <remote-repo> <URL>

এই পদ্ধতির সুস্পষ্ট নেতিবাচকতা হ'ল আপনাকে পাসওয়ার্ডটি সরল পাঠ্যে সংরক্ষণ করতে হবে। আপনি এখনও কেবল ব্যবহারকারীর নাম ( https://user@github.com/...) প্রবেশ করতে পারেন যা কমপক্ষে আপনাকে অর্ধ ঝামেলা বাঁচিয়ে দেবে।

আপনি এসএসএইচে যেতে পছন্দ করতে বা গিটহাব ক্লায়েন্ট সফটওয়্যার ব্যবহার করতে পছন্দ করতে পারেন।


2
ব্যবহারকারীর নাম / পাসওয়ার্ড এনকোড করা প্রয়োজন হতে পারে, দেখতে stackoverflow.com/a/34611311/3906760
MrTux

43

একটি শংসাপত্রের দোকান ব্যবহার করুন।

উপর গীত 2.11+ জন্য OS X এর এবং লিনাক্স , ব্যবহার গীত এর ক্রেডেনশিয়াল দোকান সালে নির্মিত :

git config --global credential.helper libsecret

উপর msysgit 1.7.9+ জন্য উইন্ডোজ :

git config --global credential.helper wincred

ওএস এক্স ব্যবহারে গিট 1.7.9+ এর জন্য:

git config --global credential.helper osxkeychain

2
আমি নিশ্চিত যে এই পথেই চলেছি তবে দুঃখের সাথে আমি একটি ত্রুটি git: 'credential-gnome-keyring' is not a git command. See 'git --help'.
পেয়েছি

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

2
: আগে libsecret লিনাক্স কাজ করবে, আপনি এই পদক্ষেপগুলি যা করতে হবে stackoverflow.com/a/40312117/775800
Lavamantis

1
অন্য একটি জিনিস - যদি আপনি গিথুবে 2 এফএ সক্ষম করে থাকেন তবে আপনার পাসওয়ার্ডটি কাজ করবে না। তবে আপনি আপনার গিথুব "সেটিংস" পৃষ্ঠাতে একটি ব্যক্তিগত অ্যাক্সেস টোকন তৈরি করতে পারেন এবং সেই টোকেনটি আপনার পাসওয়ার্ড হিসাবে কাজ করে। github.com/github/hub/issues/822
লাভামেন্টিস

3
সুরক্ষা ইস্যু: উইন্ডোজ শংসাপত্রের পরিচালক আপনার উইন্ডোজ অ্যাকাউন্টে লগ ইন করা কারও কাছে আপনার প্লেইন টেক্সট পাসওয়ার্ডকে অ্যাক্সেসযোগ্য করে তোলে। তাদের যা করার দরকার তা হ'ল শংসাপত্র ব্যবস্থাপকের কাছে অনুরোধ প্রেরণ করা printf "protocol=https\nhost=git.mycompany.com\n" | git credential-manager get( যেমন আরও বিশদ এখানে )। আপনার এটির সাথে সর্বদা ব্যক্তিগত অ্যাক্সেস টোকেন ব্যবহার করা উচিত এবং অবশ্যই আপনার গিটহাব অ্যাকাউন্টে 2 এফএ ব্যবহার করুন।
সিজেএস

40

আপনি শুধু ব্যবহার করতে পারেন

git config credential.helper store

যখন আপনি পরের বার টানুন বা ধাক্কা দিয়ে পাসওয়ার্ড প্রবেশ করবেন, এটি ফাইল .git- শংসাপত্রগুলিকে সাধারণ পাঠ্য হিসাবে সংরক্ষণ করা হবে (কিছুটা সুরক্ষিত নয়, তবে এটি কেবল একটি সুরক্ষিত ফোল্ডারে রেখে দেওয়া হবে) put

এবং এটিই, যা এই পৃষ্ঠায় বলা হয়েছে:

git-credential-store


3
উইন্ডোজ ২.7.৩ (মার্চ ২০১)) এর জন্য গিটের জন্য: github.com/git-for-windows/git/relayss? after=v2.8.4.windows.1 , যে git config credential.helper managerপরিবর্তে হবে
ভোনসি

23

এটি তাত্ক্ষণিকভাবে আমার কাছে স্পষ্ট ছিল না যে আমাকে প্রথমে সহায়কটি ডাউনলোড করার দরকার ছিল! আমি আটলাসিয়ানদের গিট সংগ্রহস্থলগুলির সাথে স্থায়ীভাবে প্রমাণীকরণে ক্রেডেনসিয়াল.হেল্পার ডাউনলোড পেয়েছি ।

উদ্ধৃতি:

আপনি যদি ওএস এক্স-তে শংসাপত্রের ক্যাচিং সহ গিট ব্যবহার করতে চান তবে এই পদক্ষেপগুলি অনুসরণ করুন:

বাইনারি গিট-শংসাপত্র-অক্সকিচাইন ডাউনলোড করুন।

বাইনারি নির্বাহযোগ্য কিনা তা নিশ্চিত করতে নীচের কমান্ডটি চালান:

chmod a+x git-credential-osxkeychain

এটি ডিরেক্টরিতে রাখুন /usr/local/bin

নীচের কমান্ডটি চালান:

git config --global credential.helper osxkeychain

23

URL এর অংশ হিসাবে কেবল লগইন শংসাপত্রগুলি অন্তর্ভুক্ত করুন:

git remote rm origin
git remote add origin https://username:mypassword@github.com/path/to/repo.git

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


12
এটি আপনার ইমেল
তরুন গুপ্ত

ইমেল আইডিতে যদি আমাদের একটি '+' থাকে তবে কী হবে? আমি একই পালানোর চেষ্টা করেছি তবে ধাক্কাটি বলেছিল 'রেপো পাওয়া যায় নি'
কিলজয়


প্লেইন টেক্সটে পাসওয়ার্ড সংরক্ষণ এবং সহজেই অ্যাক্সেসযোগ্য সর্বোত্তম সমাধান নাও হতে পারে।
ক্রিয়াকলাপ হ্রাস

20

একটি জিএনইউ / লিনাক্স সেটআপে, একটি। / .Netrc খুব ভাল কাজ করে:

$ cat ~/.netrc
machine github.com login lot105 password howsyafather

এইচটিটিপিএস পরিবহণের জন্য গিট কোন নেটওয়ার্ক লাইব্রেরি ব্যবহার করছে তার উপর নির্ভর করে ।


4
তাও নিশ্চিত করুন chmod 0600 ~/.netrc
পুলি

এখানে কেবল একটি লিঙ্কটি উবুন্টু নেটআরসিআর ম্যানপেজে ছেড়ে দিতে চাই । আমার এটি অন্য ব্যবহারকারীর (/ home/git/.netrc) এর জন্য তৈরি করতে হবে তারপরে সেই ব্যবহারকারীর মালিকানা পরিবর্তন করতে হবে।
জ্যাকারিডল

17

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

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

সাইগউইন ব্যবহারকারীদের জন্য (বা ব্যবহারকারীরা ইতিমধ্যে উইন্ডোর জন্য সরকারী গিট ব্যবহার করছেন), আপনি ম্যানুয়াল ইনস্টলটি পছন্দ করতে পারেন। রিলিজ পৃষ্ঠা থেকে জিপ প্যাকেজটি ডাউনলোড করুন । প্যাকেজটি বের করুন এবং তারপরে install.cmdফাইলটি চালান । এটি আপনার ~/binফোল্ডারে ইনস্টল হবে । (আপনার ~/binডিরেক্টরিটি আপনার पथপথের মধ্যে রয়েছে তা নিশ্চিত হন )) আপনি এই আদেশটি ব্যবহার করে এটি কনফিগার করেছেন:

git config --global credential.helper manager

গিটটি তখন git-credential-manager.exeকোনও সার্ভারে অনুমোদনের সময় চালিত হবে ।


3
আপনার অ্যাকাউন্টে লগ ইন করা যে কোনও ব্যক্তির পাসওয়ার্ডের প্লেইন টেক্সটে সহজেই অ্যাক্সেস থাকতে পারে। তাদের যা করার দরকার তা হ'ল শংসাপত্র ব্যবস্থাপকের কাছে অনুরোধ প্রেরণ করা printf "protocol=https\nhost=git.mycompany.com\n" | git credential-manager get( যেমন আরও বিশদ এখানে )। আপনার এটির সাথে সর্বদা ব্যক্তিগত অ্যাক্সেস টোকেন ব্যবহার করা উচিত এবং অবশ্যই আপনার গিটহাব অ্যাকাউন্টে 2 এফএ ব্যবহার করুন।
সিজেএস

13

আপনি যদি মার্ক পাসওয়ার্ডের মতো আপনার পাসওয়ার্ডটি সরলরেখায় সঞ্চয় করতে না চান তবে আপনি আনার জন্য আলাদা গিটহাব ইউআরএল ঠেলাঠেলি করার জন্য ব্যবহার করতে পারেন। আপনার কনফিগারেশন ফাইলটিতে [remote "origin"]:

url = git://github.com/you/projectName.git
pushurl = git@github.com:you/projectName.git

এটি চাপ দেওয়ার পরেও একটি পাসওয়ার্ড চাইবে, তবে অন্তত ওপেন সোর্স প্রকল্পের জন্য যখন আপনি আনবেন তখন নয়।


12

OAuth এর

আপনি নিজের ব্যক্তিগত API টোকেন ( OAuth ) তৈরি করতে পারেন এবং এটি আপনার সাধারণ শংসাপত্রগুলি (এখানে /settings/tokens:) ব্যবহার করার মতো করে ব্যবহার করতে পারেন । উদাহরণ স্বরূপ:

git remote add fork https://4UTHT0KEN@github.com/foo/bar
git push fork

.netrc

অন্য পদ্ধতিটি হ'ল ~/.netrc( _netrcউইন্ডোজে) আপনার ব্যবহারকারী / পাসওয়ার্ড কনফিগার করা , যেমন

machine github.com
login USERNAME
password PASSWORD

এইচটিটিপিএসের জন্য অতিরিক্ত লাইন যুক্ত করুন:

protocol https

একটি শংসাপত্র সহায়ক

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

  • ম্যাক: git config --global credential.helper osxkeychain( osxkeychain helperপ্রয়োজনীয়),
  • উইন্ডোজ: git config --global credential.helper wincred
  • লিনাক্স এবং অন্যান্য: git config --global credential.helper cache

সম্পর্কিত:


10

আপনি শংসাপত্র সহায়ক ব্যবহার করতে পারেন।

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

যেখানে xসেকেন্ডের সংখ্যা।


7
এটি সেকেন্ডের সংখ্যা ... কিছু প্রতিভা এটি মিলিসেকেন্ড হিসাবে আপডেট করেছে এবং প্রত্যেকে চেক না করেই এটি অনুমোদিত করেছে। যদি আপনি উত্তরটি না জানেন তবে দয়া করে লোকেদের বিভ্রান্ত করবেন না। ধন্যবাদ!
চরণ

আপনি যদি একটি জায়গা যেখানে একটি লিঙ্ক দিতে পারেন store, cacheএবং অন্যান্য সাধারণ জিনিষ তালিকাভুক্ত এবং ব্যাখ্যা করা আছে?
নোটলিস্ট

3
আপনি প্রথমে ব্যবস্থাপক হিসাবে 'ক্যাশে' ব্যবহার করার জন্য অন্য কোনও নির্দিষ্ট কমান্ড না বললে এই জ্যাকটি বিষ্ঠা আছে তা উল্লেখ করার জন্য যত্নশীল? এই স্টাফটি এত রহস্যজনক, এই সমস্ত উত্তর অসম্পূর্ণ এবং এগুলির কোনওটিই কাজ করে না। অবিশ্বাস্যরকম হতাশাবোধ। : এই পরিবর্তে দেখুন stackoverflow.com/a/24800870/88409
Triynko

10

আপনি সংগ্রহস্থল ক্লোন করার পরে repo, আপনি repo/.git/configনীচের মত কিছু কনফিগারেশন সম্পাদনা করতে এবং যোগ করতে পারেন :

[user]
    name = you_name
    password = you_password
[credential]
    helper = store

তারপর আপনার জন্য জিজ্ঞাসা করা হবে না usernameএবং passwordআবার।


আমার সাথে কাজ করে helper = manager(তবে প্রথম ধাক্কার জন্য আমাকে ব্যবহারকারীর নাম + রেপো জিজ্ঞাসা করা হয়েছে)।
স্টাফেন লরেন্ট

সাহায্যকারী সহ = পরিচালকের সাথে আমি ত্রুটির শংসাপত্র পাচ্ছি - ম্যানেজার গিট কমান্ড নয়
কপিল

দুর্ভাগ্যক্রমে git কনফিগার ফাইলে পাসওয়ার্ড উপেক্ষা করে। শংসাপত্রের সাথে .git_credentials.store একমাত্র বিকল্প।
আওমাদার

9

আমি জানি এটি কোনও নিরাপদ সমাধান নয়, তবে কখনও কখনও আপনার কেবল একটি সহজ সমাধান প্রয়োজন - অন্য কোনও কিছু ইনস্টল না করে। এবং যেহেতু সহায়ক = দোকান আমার পক্ষে কাজ করে না, তাই আমি একটি ডামি সহায়ক তৈরি করেছি:

একটি স্ক্রিপ্ট তৈরি করুন এবং এটি আপনার ব্যবহারকারীদের বিন ফোল্ডারে রাখুন, এখানে নাম দেওয়া হয়েছে ক্রেডফেক , এই স্ক্রিপ্টটি আপনার ব্যবহারকারীর নাম এবং আপনার পাসওয়ার্ড সরবরাহ করবে:

#!/bin/bash
while read line
do
  echo "$line"
done < "/dev/stdin"
echo username=mahuser
echo password=MahSecret12345

এটি কার্যকর করা:

chmod u+x /home/mahuser/bin/credfake

তারপরে এটি গিটে কনফিগার করুন:

git config --global credential.helper /home/mahuser/bin/credfake

(বা এটি কেবলমাত্র এক রেপোর জন্য - গ্লোবাল ছাড়াই ব্যবহার করুন)

এবং - voilá - গিট এই ব্যবহারকারী + পাসওয়ার্ড ব্যবহার করবে।


আমি রাজী. সহজ (যদি অনিরাপদ থাকে) সমাধান প্রকৃতপক্ষে। +1, যতক্ষণ আপনি জানেন আপনি কী করছেন।
ভনসি

7

অ্যাকাউন্টের পাসওয়ার্ডের পরিবর্তে একটি প্রমাণীকরণ টোকেন ব্যবহার করা উচিত। গিটহাব সেটিংস / অ্যাপ্লিকেশনগুলিতে যান এবং তারপরে একটি ব্যক্তিগত অ্যাক্সেস টোকেন তৈরি করুন। টোকেন একইভাবে একটি পাসওয়ার্ড ব্যবহার করা যেতে পারে।

টোকেনটি ব্যবহারকারীদের প্রকল্প কাজের জন্য অ্যাকাউন্টের পাসওয়ার্ড ব্যবহার না করার অনুমতি দেওয়ার উদ্দেশ্যে তৈরি করা হয়েছে। নতুন টোকেন তৈরি বা পুরানো টোকেন প্রত্যাহারের মতো প্রশাসনের কাজ করার সময় কেবলমাত্র পাসওয়ার্ডটি ব্যবহার করুন।


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

  1. কোনো SSH কনফিগারেশন ফাইল যে রয়েছে লিখুন Host, IdentityFileস্থাপনার চাবি, হয়তো এর জন্য UserKnownHostsFile, এবং হয়ত User(যদিও আমি মনে করি আপনি এটা প্রয়োজন হবে না)।
  2. কার্যত যা একটি এসএসএইচ র‌্যাপার শেল স্ক্রিপ্ট লিখুন ssh -F /path/to/your/config $*
  3. শুরুতে যোগ GIT_SSH=/path/to/your/wrapperআপনার স্বাভাবিক গীত কমান্ড সামনে। এখানে git remote(উত্স) অবশ্যই git@github.com:user/project.gitফর্ম্যাটটি ব্যবহার করতে হবে।

7

সুরক্ষার জন্য শংসাপত্রগুলি ব্যবহার করা আরও ভাল তবে আপনি ক্যাশেটি ব্যবহার করে কিছু সময়ের জন্য এটি রাখতে পারেন:

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

আপনার শংসাপত্রগুলি 3600 সেকেন্ডের জন্য সংরক্ষণ করা হবে।


এর অর্থ 3600 সেকেন্ড পরে, আমাদের আবার পাসওয়ার্ড ইনপুট করতে হবে ??? কীভাবে তাদের স্থায়ীভাবে সংরক্ষণ করবেন?
হোয়াংভিউ

$ Git কনফিগ credential.helper 'ক্যাশে --timeout = 3600 ভ্রান্তি: কনফিগ ফাইল লক করতে পারেনি .git / কনফিগ: কোন ফাইল বা ডিরেক্টরির
PlantationGator

এটি কাজ করেছে: গিট কনফিগারেশন - গ্লোবাল ক্রেডেনশিয়াল.হেল্পার 'ক্যাশে - টাইমআউটআউট = 3600'
প্ল্যান্টেশনগেটর

@ তামা আমি জানি তিন বছর হয়ে গেছে, তবে আপনি কেবল ছেড়ে যেতে পারেন --timeoutএবং শংসাপত্রগুলি চিরতরে সংরক্ষণ করা হবে।
নীল চৌধুরী

এটি কি ডকার পাত্রে (ভিত্তিক windowsservercore) কাজ করবে?
পিটার মর্টেনসেন

5

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

আপনি যদি দ্বি-ফ্যাক্টর প্রমাণীকরণ ব্যবহার করছেন, তবে ব্যবহারকারীর নাম / পাসওয়ার্ড নির্দিষ্ট করে এমনকি কাজ করবে না - আপনি অ্যাক্সেসকে অস্বীকার করবেন। তবে আপনি কোনও অ্যাপ্লিকেশন অ্যাক্সেস টোকেন ব্যবহার করতে পারেন এবং এটি আপনার জন্য ক্যাশে গিটের শংসাপত্র সহায়ক ব্যবহার করতে পারেন। এখানে প্রাসঙ্গিক লিঙ্কগুলি রয়েছে:

এবং আমি এটি কোথায় দেখেছি তা মনে নেই তবে আপনি যখন আপনার ব্যবহারকারীর নাম জানতে চাইবেন - সেখানেই আপনি অ্যাপ্লিকেশন অ্যাক্সেস টোকেনটি আটকে রেখেছেন। তারপরে পাসওয়ার্ডটি ফাঁকা রেখে দিন। এটি আমার ম্যাকে কাজ করেছে।


2 ওয়ে প্রমাণীকরণ ব্যবহার করার সময়, আপনি পাসওয়ার্ড হিসাবে "অ্যাক্সেস টোকেন" ব্যবহার করেন। ব্যবহারকারীর নাম সর্বদা হিসাবে একই থাকে
বেন Yitzhaki


4

সাধারণত আপনার কাছে একটি দূরবর্তী ইউআরএল থাকে, এরকম কিছু,

git remote -v

origin    https://gitlab.com/username/Repo.git (fetch)
origin    https://gitlab.com/username/Repo.git (push)

আপনি যদি ব্যবহারের সময় ব্যবহারকারীর নাম এবং পাসওয়ার্ড এড়িয়ে যেতে চান তবে এটি ব্যবহার git pushকরে দেখুন:

 git remote set-url origin https://username:password@gitlab.com/username/Repo.git

আমি ঠিক একই URL টি (পাসওয়ার্ড সহ ব্যবহারকারী বিশদ সহ) যুক্ত করেছি origin

দ্রষ্টব্য: ব্যবহারকারীর নামটি ইমেল আইডি হলে এটি কাজ করে না।

git remote -v

origin    https://username:password@gitlab.com/username/Repo.git (fetch)
origin    https://username:password@gitlab.com/username/Repo.git (push)

3

আমি আমার উত্তরটি gitcredentials (7) ম্যানুয়াল পৃষ্ঠা থেকে পেয়েছি । আমার ক্ষেত্রে, আমার উইন্ডোজ ইনস্টলেশনতে শংসাপত্র-ক্যাশে নেই; আমি শংসাপত্রের দোকান ব্যবহার করি।

আমি শংসাপত্রের দোকান ব্যবহার করার পরে, ব্যবহারকারীর নাম / পাসওয়ার্ড [ব্যবহারকারী ফোল্ডার] /। গিট-শংসাপত্র ফাইলগুলিতে সংরক্ষণ করা হয়। ব্যবহারকারীর নাম / পাসওয়ার্ড মুছে ফেলতে কেবল ফাইলের সামগ্রী মুছুন।


2
যখন আপনার উইন্ডোজগুলিতে শংসাপত্র-ক্যাশে না থাকে, আমি git config --global credential.helper wincredস্থায়ীভাবে এই স্টোরটির পাসওয়ার্ডটি ব্যবহার করার পরামর্শ দেব ।
চিতাবাহন

2

সুরকার ডকুমেন্টেশনে উল্লেখ করা হয়েছে যে আপনি এটিকে গিটহাব এপিআই ব্যবহার করা থেকে বিরত রাখতে পারেন, যাতে এটি এর মতো কাজ করে git clone:

আপনি যদি গিটহাবের সংগ্রহস্থলে no-apiকীটি সেট করেন তবে trueএটি সংগ্রহস্থলটিকে ক্লোন করবে যেমন এটি গিটহাব এপিআই ব্যবহার করার পরিবর্তে অন্য কোনও গিট সংগ্রহস্থলের সাথে থাকে। তবে gitসরাসরি ড্রাইভার ব্যবহারের বিপরীতে , সুরকার এখনও গিটহাবের জিপ ফাইলগুলি ব্যবহার করার চেষ্টা করবেন।

সুতরাং বিভাগটি এর মতো দেখাবে:

"repositories": [
    {
        "type": "vcs",
        "no-api": true,
        "url": "https://github.com/your/repo"
    }
],

মনে রাখবেন যে কোনও কারণেই এপিআই রয়েছে। সুতরাং এটি github.com এ বর্ধিত বোঝা সম্পর্কিত সর্বশেষ উপায় অবলম্বনের একটি পদ্ধতি হওয়া উচিত।


এই প্রশ্নের মূল প্রশ্নের সাথে কী জড়িত তা নিশ্চিত নয়।
চার্লস অপারম্যান

2

আপনি বাশার্ক ফাইলটি সম্পাদনা করুন এবং এতে একটি স্ক্রিপ্ট যুক্ত করুন।

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

SSH_ENV=$HOME/.ssh/environment
  
# Start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."

    # Spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    /usr/bin/ssh-add
}
  
if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
   ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
      start_agent;
  }
else
    start_agent;
fi

0

আপনি যদি ব্যবহার করছেন osxkeychain এবং একটি টোকেনের মেয়াদ শেষ হয়ে গেছে এবং এটি আপডেট করতে চান, এই পদক্ষেপগুলি অনুসরণ করুন:

টার্মিনালে চালান, তারপরে দুবার এন্টার টিপুন।

git credential-osxkeychain erase
 host=github.com
 protocol=https

এখন আপনাকে একটি ব্যবহারকারীর নাম / পাসওয়ার্ডের জন্য অনুরোধ করা উচিত। তবে কখনও কখনও মনে হয় এটি 'গ্রহণ করে না' এবং আপনাকে পুনরায় প্রবেশ করতে হবে।

যদি তা হয় তবে আপনার কম্পিউটারটি পুনরায় চালু করুন । এখন পরের বার আপনি গিট কমান্ডটি চালাবেন এবং আপনার ব্যবহারকারীর নাম / পাসওয়ার্ড প্রবেশ করুন, এটি সংরক্ষণ করা হবে।

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