বিভিন্ন গিট रिपোর জন্য কীভাবে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সেট আপ করবেন?


17
─[$] cat ~/.gitconfig

[user]
    name = Shirish Agarwal
    email = xxxx@xxxx.xxx
[core]
    editor = leafpad
    excludesfiles = /home/shirish/.gitignore
    gitproxy = \"ssh\" for gitorious.org
[merge]
    tool = meld
[push]
    default = simple
[color]
    ui = true
    status = auto
    branch = auto

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

আমি zsh চালাচ্ছি

উত্তর:


21

এসএসএইচ ব্যবহার করে

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

ব্যবহারকারীর নাম উল্লেখ করা এড়াতে, আপনি এসএসএইচে এটিও কনফিগার করতে পারেন ~/.ssh/config; উদাহরণস্বরূপ আমার আছে

Host git.opendaylight.org
  User skitt

এবং তারপরে আমি ব্যবহার করে ক্লোন করতে পারি

git clone ssh://git.opendaylight.org:29418/aaa

(সেখানে একটি ব্যবহারকারীর অনুপস্থিতি নোট করুন)।

ব্যবহার gitcredentials

যদি এসএসএইচ পদ্ধতির প্রয়োগ না হয় ( যেমন আপনি এইচটিটিপিএস-এর মাধ্যমে অ্যাক্সেস করা একটি সংগ্রহস্থল ব্যবহার করছেন), gitcredentials(এবং সাধারণত git-credential-store) ব্যবহার করে গিটের শংসাপত্রগুলি হ্যান্ডেল করার নিজস্ব পদ্ধতি রয়েছে । আপনি ব্যবহার করে আপনার ব্যবহারকারীর নাম উল্লেখ করুন

git config credential.${remote}.username yourusername

এবং শংসাপত্রের সাহায্যকারী ব্যবহার করে

git config credential.helper store

( --globalআপনি যদি এই সেটআপটি সর্বত্র ব্যবহার করতে চান তবে নির্দিষ্ট করুন)।

তারপরে আপনি যখন প্রথম কোনও ভান্ডারটি অ্যাক্সেস করবেন, গিট আপনার পাসওয়ার্ড জানতে চাইবে এবং এটি সংরক্ষণ করা হবে (ডিফল্টরূপে ~/.git-credentials) by সংগ্রহস্থলটিতে পরবর্তী অ্যাক্সেসগুলি আপনাকে জিজ্ঞাসার পরিবর্তে সঞ্চিত পাসওয়ার্ড ব্যবহার করবে।


1
আপনার সম্পর্কে একটি বিট সম্প্রসারিত করতে পারেন credential.${remote} এবং credential.helper। এমন কোনও ডকুমেন্টেশন রয়েছে যা আপনি চিহ্নিত করতে পেরেছিলেন কারণ আমি প্রথমবার এটি পড়ছি।
শিরীশ

আমি আমার উত্তরে ম্যানপেজগুলি সংযুক্ত করেছি, এটি ডকুমেন্টেশন। ${remote}আপনি যে ইউআরআই ক্লোন করতে চান তার প্রোটোকল এবং হোস্টনাম অংশটি helperহেল্পার প্রোগ্রামকে নির্দেশ করে।
স্টিফেন কিট


7

পরে এটি সন্ধানকারীদের জন্য - আমার এটির সাথে অসুবিধা হয়েছিল এবং শেষ পর্যন্ত এটি কাজ করে

https / क्रेडশিয়াল.হেল্পার / উবুন্টু

  1. বিশ্বব্যাপী আনসেট করুন:
    git config --global --unset credentials.helper
  2. স্থানীয়ভাবে আনসেট করুন: (প্রতিটি রেপিতে) git config --unset credential.helper
  3. প্রতিটি রেপোর জন্য শংসাপত্র ফাইল তৈরি করুন: (প্রতিটি রেপোর অভ্যন্তরে)

    git config credential.helper 'store --file ~/.git_reponame_credentials'
    

এটি সর্বোত্তম উপায় বা একমাত্র উপায় না বলা - তবে এটি হতাশাজনক কয়েক ঘন্টা পরে আমার পক্ষে কাজ করেছিল।


স্টিফেন কিট উপরে ভাগ করে নেওয়ার মতো বলে মনে হচ্ছে।
শিরিশ

2
@ শিরীশ আসলেই নয়, তৃতীয় পয়েন্টটি আমার দরকার ছিল - ফাইলগুলি কোথায় রয়েছে তা নির্দিষ্ট করার বিকল্প।
মার্টিও ব্রিডিস

@shirish; এছাড়াও, কিটসের নির্দেশাবলী শংসাপত্রগুলি সেট করার জন্য নির্দিষ্ট করে না, যা আমার জন্য এটি একটি গুরুত্বপূর্ণ উপাদান যেহেতু আমি ইতিমধ্যে বিশ্বব্যাপী সেগুলি সেট করেছিলাম।
স্টিভজে

আমারও এ নিয়ে অসুবিধা হয়েছিল কারণ এটি সমস্ত গিট রিপোস নয়। আপনি একই উত্স / স্টোর থেকে পাবেন। দ্বিতীয়টিটি আরও ভাল তবে বাস্তবে কাজ করতে আরও হতাশ। এখনও ভাগ করে নেওয়ার জন্য আপনাকে ধন্যবাদ। @ স্টেভেজে
শিরিশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.