জিনোম-কিরিং এবং HT (গুলি) রেপোসের সাহায্যে গিট ব্যবহারের সঠিক উপায় কী?


43

বর্তমানে, যখনই আমি git pullবা git pushকোনও http (গুলি) সংগ্রহস্থল এ যাচ্ছি, আমি নিম্নলিখিতগুলি পাই:

$ git pull
Username for 'https://gitrepos.reposdomain.com': me@mydomain.com
Password for 'https://me@mydomain.com@gitrepos.reposdomain.com': 

এটি বিরল ব্যবহারের জন্য ঠিক আছে তবে খুব তাড়াতাড়ি খুব বিরক্তিকর হতে শুরু করে। দুর্ভাগ্যক্রমে, ssh এ স্যুইচ করা এই ক্ষেত্রে কোনও বিকল্প নয়।

আমি পড়েছি যে পূর্ববর্তী সংস্করণগুলিতে gitএকটি শংসাপত্র "স্টোর" এবং "ক্যাশে" সরবরাহ করা হয়েছিল তবে এটি পরামর্শ দেওয়া হয়নি কারণ এটি পাসওয়ার্ডটিকে সরলরেখায় সংরক্ষণ করে।

কিন্তু

gitআপাতদৃষ্টিতে গিট শংসাপত্রগুলির নতুন সংস্করণগুলি gnome-keyringতবে এটি সঠিকভাবে সেট আপ করতে হবে।

আমি তাই অন্যান্য (অ-উবুন্টু) উত্তর নিম্নলিখিত কাজ (যথা এই পেতে চেষ্টা করেছি এই এক ), কিন্তু আমি এখনও ব্যবহারকারীর নাম ও পাসওয়ার্ড প্রম্পট পরিবেশন করা করছি।

gitHttp (গুলি) রেপোসের জন্য শংসাপত্রগুলি সংরক্ষণ করার সঠিক ও নিরাপদ উপায় কী এবং কীভাবে কেউ উবুন্টুতে তাদের কাজ করতে পারেন?


আপনি কোন পদ্ধতিতে চেষ্টা করেছেন তা উল্লেখ করা উচিত। অন্যথায় আপনি উত্তরগুলি হুবহু সেগুলির পরামর্শ দিতে পারেন।
মুড়ু

@ মুরু আপনি পাঠের জন্য আমি যে জোর যুক্ত করেছি তা আপনি কেন সরিয়ে দিয়েছেন? এখন এটি কেবল টেক্সটের একটি ব্লব এবং কারণগুলি যে প্রশ্নটিকে অন্যের থেকে পৃথক করে এবং প্রকৃত প্রশ্নটি কম স্পষ্ট।
ইনস্টল করুন মনিকা-ডোর ডুহ

গা entire ় এবং তির্যক একটি সম্পূর্ণ বাক্য খুব কমই পঠনযোগ্য।
মুড়ু

1
@ মুরু আমি আলাদা হতে অনুরোধ করছি। আমি গা bold় এবং italicised পাঠ্যটি প্রশ্নের প্রয়োজনীয় অংশগুলি বের করে আনে।
ইনস্টল করুন মনিকা-ডোর ডুহ

উত্তর:


45

gnome-credential-helper এখন অবচয় করা হয়েছে।

পরিবর্তে, libsecret ব্যবহার করুন। যদি এটি আপনার উবুন্টুটি ইতিমধ্যে বিল্ট ইন না হয় তবে নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন:

  1. আপনি এটি libsecretএবং বিকাশ গ্রন্থাগারগুলি ইনস্টল করতে পারেন :

    sudo apt-get install libsecret-1-0 libsecret-1-dev

  2. তারপরে আপনাকে শংসাপত্র ব্যবস্থাপক তৈরি করতে হবে

    cd /usr/share/doc/git/contrib/credential/libsecret

    sudo make

  3. অবশেষে, আপনার কনফিগারেশনে নতুন তৈরি হওয়া ফাইলটির প্রতি আপনার গিটটি নির্দেশ করা উচিত :

    git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

Https://stackoverflow.com/a/40312117/2017781 এ আরও বিশদ


1
আপনি লক্ষ করতে পারেন যে এই সমাধানটি কেবল গিট সংস্করণগুলিতেই প্রযোজ্য> = 2.11 (যেখানে তখন লিবাসেরেট দির পাওয়া যাবে)
চার্লস রবার্তো কানাটো

1
এটি কি নিরাপদ? গোপন রহস্য কোথায় আছে? সংক্রমণ এবং স্টোরেজ উভয়ই নিরাপদ? কোন অফিসিয়াল ডকুমেন্টেশন আছে? স্পষ্টতই, এই পৃষ্ঠা এবং এই পৃষ্ঠা অনুসারে , এটি "মূল" এ রয়েছে এবং এটি ডেবিয়ান / উবুন্টু দ্বারা রক্ষণাবেক্ষণ করা হয়। এবং: "এটি ডিবিস ব্যবহার করে 'সিক্রেট সার্ভিস' এর সাথে যোগাযোগ করে” "
কাও

1
@ কাও: জিনোমে, "সিক্রেট সার্ভিস" হ'ল একই জিনোম-কিরিং-ডেমন, অন্য একটি পৃথক এপিআইয়ের মাধ্যমে। (লাইবসেক্রেট পরিকল্পনাটি ছিল অন্য ডিইএসকে একই এপিআই সমর্থন করে তাদের নিজস্ব ব্যাককেড তৈরি করার অনুমতি দেওয়া, উদাহরণস্বরূপ কে ডি কে কোল্লেটেডে এটি প্রয়োগের পরিকল্পনা করেছিল।)
গ্রাভিটি

5
আমার পছন্দসই উত্তরটি আপডেট করা হিসাবে আমি এটি যাচাই করতে পারি 18.04 এ works :)
ইনস্টল করুন মনিকা-ডোর ডু

44

credential helperজিনোম কেরিংয়ের সাথে আপনাকে গিটটি সেটআপ করতে হবে :

জিনোম কেরিং ডেভেল ইনস্টল করুন এবং সংকলন করুন:

sudo apt-get install libgnome-keyring-dev
sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring

এবং শংসাপত্র সেটআপ করুন:

git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

সত্যিই অদ্ভুত। শব্দার্থকভাবে, লিঙ্কটির উত্তর এবং এই উত্তরের মধ্যে কোনও পার্থক্য থাকা উচিত। তবে কিছু কারণে এই উত্তরটি যেখানে অন্যটি না করে সেখানে কাজ করে।
টু-রিইনস্টেট মনিকা-ডোর ডু

তারপরে চালানো git pushবা git pullস্বাভাবিক হিসাবে এবং এটি প্রথমবার এএসএস স্টোরটি জিজ্ঞাসা করবে এবং এর পরে প্রতিবার এটি কীরিং থেকে পেয়ে যাবে। এটি যাচাই করতে, চালান seahorse। এটি "পাসওয়ার্ডস" -> "লগইন" এর নীচে তালিকাবদ্ধ করা উচিত।
টু-রিইনস্টেট মনিকা-ডোর ডু

@ টিউটর এটি আশ্চর্যজনক, আমি আমার উত্তর এবং লিঙ্কটির মধ্যে কোনও "ধারণামূলক" পার্থক্য দেখছি না। খুশি যে এটি সাহায্য করে।

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

2

এই সহজ পদ্ধতিরটি আমার উবুন্টুতে 18.04.1 গিট 2.17.1 সহ যথেষ্ট বলে মনে হচ্ছে:

git config --global credential.helper cache

আপনি এক ঘন্টা (= 3600 সেকেন্ড) টাইমআউটটি এর মতো নির্দিষ্ট করতে পারেন:

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

সূক্ষ্ম ম্যানুয়ালটিতে আরও পড়া ।

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