জিনোম-কীরিং সংহতকরণের সাথে গিট কীভাবে ব্যবহার করবেন


129

গিট 1.8.0 জিনোম-কিরিংয়ের সাথে সংহতকরণকে সমর্থন করে।

http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html

গিট শংসাপত্রের সাহায্যকারীদের সম্পর্কে দস্তাবেজগুলি পড়ার পরে: http://git-scm.com/docs/gitcredentials.html

আমি এই নতুন বৈশিষ্ট্যটি ব্যবহার করার উপায় খুঁজে পাচ্ছিলাম না। আমি কীভাবে এটি সংহত করতে পারি? আমি আর্চলিনাক্সের সংগ্রহস্থল থেকে ইনস্টল করা গিটের সাথে আর্চলিনাক্স ব্যবহার করছি। (গিট 1.8.0)

উত্তর:


193

@ মার্কোসডান্সচেজের উত্তরটি আর্চের পক্ষে (যা মূল প্রশ্নের উত্তর দেয়) তবে আমি উবুন্টুতে আছি। গিট> = 2.11 এর জন্য:

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.11:

sudo apt-get install libgnome-keyring-dev
cd /usr/share/doc/git/contrib/credential/gnome-keyring
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

9
আমি প্রথমে এটি করতে দ্বিধাগ্রস্ত ছিলাম, তবে শেষ পর্যন্ত করেছি এবং এটি পুরোপুরি কার্যকর হয় works যেমনটি গিটারড্রেডিয়েনশিয়ালের জন্য ডকস বলেছেন, আপনি হয়ত করতে চাইবেন git help -a | grep credential-এবং দেখুন যে আপনি অন্য সহায়িকা ইনস্টল করেছেন কি না। ডিফল্টরূপে আসে যেগুলি হ'ল credential-cache( ডিফল্টরূপে 15 মিনিটের পরে প্রবেশের পরে কিছুক্ষণের জন্য পাসওয়ার্ড মনে রাখবেন) এবং credential-store( ডিফল্টরূপে কেবল পাসওয়ার্ডটি ডিস্কে একটি এনক্রিপ্ট করা ফাইলের মধ্যে সংরক্ষণ করুন ~/.git-credentials)।
শ্রীভাতসারআর

51
এটিকে কেন ম্যানুয়ালি সংকলন করা দরকার এবং কোনও প্যাকেজের মাধ্যমে ডিফল্টরূপে পাওয়া যায় না তা কেউ ব্যাখ্যা করতে পারেন?
ল্যানক্সিক্স

4
উবুন্টু 14.04 এলটিএসে কাজ করেছেন!
ইউজিন কুলাবোভভ

4
chmod 0755 git-credential-gnome-keyringশিকড়ের চেয়ে অন্যের কাছে মৃত্যুদন্ডের অনুমতি যুক্ত করার জন্য কেবল ছিল
লরি হোতারি

8
উবুন্টু 16.04
এলটিএসের

54

গিট 1.8.0 জিনোম-কিরিং সমর্থন সহ আসে তবে বাইনারিটি আপনার প্ল্যাটফর্মের জন্য সংকলন করা দরকার।

আর্কলিনাক্সে এটিই আমার জন্য সমাধান করেছে:

$ sudo pacman -S libgnome-keyring
$ cd /usr/share/git/credential/gnome-keyring
$ make
$ git config --global credential.helper /usr/share/git/credential/gnome-keyring/git-credential-gnome-keyring

@ ভনসি সমাধানটি খুব কাছাকাছি ছিল, তবে গিট কনফিগার কমান্ডটি কার্যকর হতে পারে to এ কারণেই এটি আমার পক্ষে কাজ করছে না।


আমি আপনার সিদ্ধান্তটি প্রতিফলিত করতে আমার উত্তরটির পুনরায় ফর্ম্যাট করেছি। আমি এটি তৈরি করেছি (এটি আমার গিট ১.৮ ডিস্ট্রোতে ডিফল্টরূপে নির্মিত হয়নি) এবং আজ সকালে এটি পরীক্ষা করেছি। এটা কাজ করে।
ভনসি

1
যদি আপনি পেয়ে থাকেন তবে Package gnome-keyring-1 was not found in the pkg-config search path.আপনি জিনোম-কিরিংয়ের জন্য দেব গ্রন্থাগারগুলি মিস করছেন। উবুন্টুতে এগুলি পাওয়া যায় apt-get install libgnome-keyring-dev। এছাড়াও, আমাকে gitub.com/git/git/tree/master/contrib থেকে ম্যানুয়ালি গিট অবদান রেপো ডাউনলোড করতে হয়েছিল এবং এটিকে / usr / share / git-core / এ রেখে দিতে হয়েছিল। কমপক্ষে অফিসিয়াল গিট-কোর উবুন্টু পিপিএ ব্যবহার করে এই ফাইলগুলি আর কোনও ডিফল্ট গিট ইনস্টলের সাথে অন্তর্ভুক্ত থাকে না।
জোহান

1
এটি খুব ভালভাবে ব্যাখ্যা করে যে অর প্যাকেজটি কেন git-credential-gnomekeyringচলে গেছে, খুব খারাপ যে এওআর তে তেমন কোনও তথ্য নেই।
ryenus

উবুন্টুতে আমার কাছে গিট ফোল্ডার নেই /usr/share/... কেবল গিটওয়েব এবং গিট-কোর। তবে আমি গিট 1.7.9 এ আছি। সে কারণেই কি হতে পারে ...?
অস্থায়ী_ ব্যবহারকারী_নাম

1
আর্কে 2017 হিসাবে, কেবল ইনস্টল libgnome-keyringকরা যথেষ্ট (কমপক্ষে যদি আপনি জিনোম ব্যবহার করছেন) installing
ald.li

25

কিউ 4 আপডেট করুন:

  • ইউনিক্স, ম্যাক (গিট 2.11+)

    git config --global credential.helper libsecret
    

(দেখুন "এর সাথে গিট শংসাপত্র সহায়ক ব্যবহার করার সময় ত্রুটিgnome-keyring ")

  • উইন্ডোজ:

    git config --global credential.helper manager
    

(" উইন্ডোজে গিট বাশ কনসোলে কীভাবে সাইন আউট করবেন? " দেখুন: এটি উইন্ডোজের জন্য সর্বশেষ মাইক্রোসফ্ট গিট শংসাপত্র ব্যবস্থাপক ব্যবহার করে উইন্ডোজের জন্য গিট )


আসল উত্তর (২০১২)

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

এই সংগ্রহস্থলে গিট শংসাপত্র হেল্পার্স ( gitcredentials(7)) এর সেট রয়েছে যা git(বা ভবিষ্যতে অবদানের জন্য বোঝানো হয়েছিল) অংশ।

$ git clone git://github.com/pah/git-credential-helper.git
$ BACKEND=gnome-keyring      # or any other backend
$ cd git-credential-helper/$BACKEND
$ make
$ cp git-credential-$BACKEND /path/to/git/crendential

বিল্ড করার সময় এটি /path/to/git/credentialডিরেক্টরিতে ইনস্টল হবে ।

এই ব্যাকএন্ডটি ব্যবহার করতে, আপনি সেটিংস স্থাপন করে এটি আপনার (বিশ্ব) গিট কনফিগারেশনে যুক্ত করতে পারেন

(ইউনিক্সের জন্য এখানে):

git config --global credential.helper /path/to/git/credential/gnome-keyring/git-credential-gnome-keyring

উইন্ডোজ জন্য নোট:

আমি মনে করি আপনি উইন্ডোজে একটি প্রোগ্রাম চালু করতে এবং " পিপিআই কিরিং ০.০১ " এর মতো একটি লাইব্রেরি কল করতে পারেন ।
কিন্তু যে ব্যাক এন্ড, এবং আপনি গীত থেকে সরাসরি এটি ব্যবহার করবেন না।

আপনি যা ব্যবহার করছেন তা হ'ল "শংসাপত্র সহায়ক" (যা ঘুরেফিরে উইন্ডোজে যে কোনও শংসাপত্রের API চাইবে ))

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

C:\Users\VonC\Documents\GitHub\test [master +2 ~0 -0 !]> git config --system -l
credential.helper=!github --credentials

credential.helper=!github --credentialsঅংশ ক্রেডেনশিয়াল সাহায্যকারী 'ডাকব github

$ git config [--global] credential.helper $BACKEND

আমি যা খুঁজছি তা নয়। উত্তরটি কেবল * নিক্সের হওয়া উচিত।
marcosdsanchez

@ মার্কোসডসানচেজ ঠিক আছে, ইউনিক্সে গিট সহ জিনোম-কীরিংয়ের একটি সেটআপ এবং ব্যবহার অন্তর্ভুক্ত করার জন্য আমি আমার উত্তরটি সম্পাদনা করেছি।
ভোনসি

আমি গিটের 1.8.0 বৈশিষ্ট্যটি ব্যবহার করতে চাই, যা ইতিমধ্যে রয়েছে। তৃতীয় পক্ষের কোড নয়। ধন্যবাদ।
marcosdsanchez

@marcosdsanchez তারপরে আপনাকে github.com/git/git/tree/master/contrib/credential/gnome-keyring (যা গিট দিয়ে প্যাকেজযুক্ত) সংকলন করতে হবে । একবার সংকলিত হয়ে গেলে আপনি এটি ইনস্টল করে আমার উত্তরটিতে চিত্রিত হিসাবে ব্যবহার করবেন।
ভনসি

আমার মনে হয় কোনও বাইনারি অন্তর্নির্মিত নেই?
মার্কোসডান্সচেজ

15

অক্টোবর 2018 আপডেট করুন

জিনোম libgnome- কীরিং অবমূল্যায়ন করেছে এবং এটিকে libsecret দ্বারা প্রতিস্থাপন করেছে। কমিট করুন https://github.com/git/git/commit/87d1353a6a একটি নতুন শংসাপত্র সহায়ক / usr / Libxec / গিট-কোর / গিট-শংসাপত্র-libsecret যুক্ত করেছে।

git config --global credential.helper libsecret


2
সম্ভবত, এটি কোনও জিনোম-কীরিং ভিত্তিক উত্তরের মন্তব্য হওয়া উচিত।
মুরমেল

সম্মত হন, gnome-keyringভিত্তিক উত্তরগুলি সেই অনুযায়ী সম্পাদনা করা উচিত। সম্ভবত পুরো বিকল্পটি বাদ দিন। উবুন্টু 19.10 এ আমার পক্ষে মোটেও কার্যকর হয়নি।
মারিও

11

ফেডোরার কারও জন্য আমি জেমস ওয়ার্ডের উত্তরটি সামান্য সম্পাদনা করেছি:

sudo yum install libgnome-keyring-devel
cd /usr/share/doc/git/contrib/credential/gnome-keyring
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

2
আমি বিভ্রান্ত, এটি ইতিমধ্যে গিট প্যাকেজগুলির সাথে অন্তর্ভুক্ত নয়? এই ফাইলটি কি তবে fc19 প্যাকেজের মধ্যে, git-1.8.3.1-1.fc19.x86_64। এই ফাইলের এখানে দেওয়া হল: /usr/libexec/git-core/git-credential-gnome-keyring
স্ল্যাম

10
ফেডোরা 21-তে, 2.1.0 গিট করুন, আপনি কেবল তা করতে পারেন:git config --global credential.helper gnome-keyring
রেডপপ্পি

7

আপনার ~/.gitconfigফাইলে এই দুটি লাইন যুক্ত করুন:

[credential]
    helper = gnome-keyring

পরের বার যখন আপনাকে গিট দ্বারা পাসওয়ার্ড জিজ্ঞাসা করা হবে, প্রবেশ করা পাসওয়ার্ডটি জিনোম কেরিংয়ে সংরক্ষণ করা হবে (আপনি এটি seahorseসরঞ্জাম দিয়ে দেখতে পারেন ), এবং আপনাকে আবার পাসওয়ার্ডের জন্য জিজ্ঞাসা করা হবে না।

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


6
উবুন্টু 16.04 এ:git: 'credential-gnome-keyring' is not a git command.
ফেরিট করুন

@ সাইবোট: ওফফফ, আপনি ঠিক বলেছেন। দেখে মনে হচ্ছে ফেডোরা / আরএইচএল এটি সরবরাহ করে তবে উবুন্টু তা দেয় না। সুতরাং জেমস ওয়ার্ডের উত্তর ( স্ট্যাকওভারফ্লো.com / a / 14528360 / 2148773 ) সে ক্ষেত্রে আরও ভাল better
অলিভার

2

কোনও সংকলনের প্রয়োজন ছাড়াই কিছু বিতরণ ইনস্টলেশন প্যাকেজ হিসাবে এই সংহতকরণের সাথে আসে। আপনার জিনোমের সংস্করণ অনুসারে আপনাকে প্যাকেজের সংস্করণ gnome-keyringবা libsecretসংস্করণ ইনস্টল করতে হবে , git-credential-gnome-keyring(ওপেনসুএস লিপ ৪২.৩) এর মতো কিছু ।

তবে এটি স্বয়ংক্রিয়ভাবে জিনোম কেরিংয়ের সাথে গিট সংহতকরণ সক্ষম করবে না। শংসাপত্র সংগ্রহের এই পদ্ধতিটি ব্যবহার করার জন্য আপনাকে অবশ্যই গিটটি কনফিগার করতে হবে:

git config --global credential.helper gnome-keyring # If you installed git-credential-gnome-keyring
git config --global credential.helper libsecret     # If you installed git-credential-libsecret

উবুন্টু 19.10-এ, gnome-keyringবিকল্পটি আমার পক্ষে আর কাজ করে না, তবে জেমস ওয়ার্ডের নির্দেশাবলী libsecretএখনও কার্যকর হয়েছে। তবে আমি gnome-keyringএখানে প্রদত্ত ব্যবহারের সুপারিশ দেখে বিভ্রান্ত হয়েছিলাম
মারিও

libsecret(বা যা find /usr -iname git-credential-libsecretদেয়) হ'ল জেন্টু লিনাক্সের সঠিক বিকল্প। নোট যে dev-vcs/gitসঙ্গে উত্থিত করা আবশ্যক USE=gnome-keyring
sphakka

1

ফেডোরায় আপনাকে ইনস্টল করতে হবে

$ sudo dnf install git-credential-libsecret

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

[credential]
    helper = /usr/libexec/git-core/git-credential-libsecret

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

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