আমি কীভাবে আলাদা আলাদা ব্যবহারকারীর অধীনে গিটহাবের দিকে চাপ দিতে পারি?


156

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

$ git push her_github_repository our_branch
ERROR: Permission to her_username/repository.git denied to my_username.
fatal: The remote end hung up unexpectedly

এটি কি সহায়তা দায়ের করার git config --global user.name her_usernameআগে সাহায্যের জন্য. github.com/articles/setting-your-email-in-git (ব্যবহার )
প্রিনজর্ন

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

29
git config --local credential.helper ""কৌতুক করতে পারে
সোফায়

আমি আমার উইন্ডোজ সিস্টেমে প্রদত্ত যে কোনও সমাধান অনুসরণ করতে পারি না। এই উত্তরে প্রদত্ত পদক্ষেপগুলি অবশেষে স্ট্যাকওভারফ্লো.com
a/

@ এসওএফএই আমি যা খুঁজছিলাম! এই আদেশটি কার্যকরভাবে কিছু ক্যাশেড শংসাপত্রগুলি মুছে দেয়?
সিসিজে

উত্তর:


93

আপনি যদি বিভিন্ন উইন্ডোজ ব্যবহারকারী ব্যবহার করেন তবে আপনার এসএসএইচ কী এবং গিট সেটিংস স্বতন্ত্র হবে।

যদি এটি আপনার পক্ষে বিকল্প না হয়, তবে আপনার বন্ধুর উচিত তার এসএসএইচ কীটি তার গিতুব অ্যাকাউন্টে যুক্ত করা।

যদিও, পূর্ববর্তী সমাধান আপনাকে নিজের মতো চাপ দিবে, তবে এটি আপনাকে তার রেপোতে ঠেলা দেবে। আপনি যদি এটি না চান এবং একই পিসিতে বিভিন্ন ফোল্ডারে কাজ করেন, আপনি -gকনফিগারেশন কমান্ডের পতাকা সরিয়ে গিট সহ একটি ফোল্ডারের ভিতরে স্থানীয়ভাবে ব্যবহারকারী নাম এবং ইমেল সেটআপ করতে পারেন :

git config user.name her_username
git config user.email her_email

বিকল্প হিসাবে, আপনি যদি httpsপ্রোটোকলটি ধরে রাখেন তবে গিথুব প্রতিবার ব্যবহারকারীর নাম / পাসওয়ার্ডের জন্য অনুরোধ করবে (আপনি যদি পাসওয়ার্ড পরিচালক ব্যবহার না করেন)।


6
যতদূর আমি মনে করি, এসএসএইচ কীগুলি গিথুবকে অনন্য হতে হবে, আপনার একাধিক অ্যাকাউন্টে একই কী সংযুক্ত থাকতে পারে না
গ্যারেথ

@ গ্যারেথ হতে পারে তবে আপনি একই ব্যবহারকারীর জন্য উইন্ডোতে (এবং আমি জানি যেখানেই) একাধিক এসএসএইচ কী সেট করতে পারেন)
সাইমন বৌদ্রিয়াস

দুটি কী থাকতে পারে না, নীচে আমার উত্তর দেখুন।
chovy

1
প্রতিটি প্রকল্পের জন্য:git config --global user.name "Mona Lisa"
w3spi

235

এটি আমার পক্ষে কাজ করেছে, এটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডের জন্য অনুরোধ করবে

git config --local credential.helper ""
git push origin master

1
ধন্যবাদ, এটি আমার জন্য কাজ করেছিল আমি বিটবাকেট ব্যবহার করেছি এবং আমি আমার ব্যবহারকারীর নামটি কনফিগার করব, তবে এটি মাইগ্রেশনটিকে অজ কোড-কমিটে সমাধান করেছে
আলেজান্দ্রো রুইজ

আমি helper = cache --timeout=999999আমার .gitignoreএবং এটি কাজ করেছিলাম । তবে স্থানীয় কোনও কনফিগারেশন পরিবর্তন না করে পুনরায় সেট করার কোনও উপায় আমি অবাক হয়েছি?
সিরো সান্তিলি 郝海东 冠状 病 六四 事件 法轮功

এটা চমৎকার!
hargun3045

এটিই আমি খুঁজছিলাম !!!
আগজলঙ্কঙ্কজ

1
এটি এখানে কী করে তা আরও ভাল ব্যাখ্যা করুন: এটি আপনার স্থানীয় রেপো কনফিগার করা (সম্ভবত বিশ্বব্যাপী) কনফিগার করা credential.helper, যেমন উইন্ডোজ শংসাপত্রের স্টোর। এর অর্থ হ'ল এটি যখনই প্রয়োজন হয় তখনই এটি ব্যবহারকারীর নাম / পাসওয়ার্ডের জন্য জিজ্ঞাসা করে, যেমন credential.helperকোনওটি কনফিগার করা হয়নি, সুতরাং আপনি তার পরিবর্তে ক্যাশে কনফিগার করতে পারেন (@ সিওরো সান্তিলির উত্তর দেখুন) বা অন্য কোনও উত্তর এখানে ব্যবহার করতে পারেন।
রাগ্ক

52

আপনি বিভিন্ন অ্যাকাউন্ট ব্যবহার করে ধাক্কা দিতে পারেন। উদাহরণস্বরূপ, যদি আপনার অ্যাকাউন্টটি A হয় যা .gitconfig এ সঞ্চিত থাকে এবং আপনি অ্যাকাউন্টটি বি ব্যবহার করতে চান যা আপনি রেপোর চাপতে চান এমন রেপোর মালিক।

অ্যাকাউন্ট বি : বি_উজার_নাম, বি_পাসওয়ার্ড
এসএসএইচ লিঙ্কের উদাহরণ: https://github.com/B_user_name/project.git

বি অ্যাকাউন্ট সহ ধাক্কাটি হ'ল:

$ git push https://'B_user_name':'B_password'@github.com/B_user_name/project.git

.Gitconfig এ অ্যাকাউন্টটি দেখতে

  1. $git config --global --list
  2. $git config --global -e (অ্যাকাউন্টও পরিবর্তন করতে)

বাহ এই উত্তর !! আমি আছে সেট user.name, user.emailস্থানীয় কনফিগ, আমার ব্যবহারকারী নাম, এবং কাজ করছে না সহযোগে ক্লোন করা হয়েছে; এখন শেষ উত্তর কীচেইন / যাই হোক না কেন ... স্পর্শ না করে কাজ করে Git 2.9.0 in Windows। "শেষ অবধি তবে কমপক্ষে নয়" .. একে একে বলা হয়। ধন্যবাদ. এই উত্তর আরও upvote প্রাপ্য।
ওয়েস্টার্নগান

3
একমাত্র পার্শ্ব প্রতিক্রিয়া, আপনার পাসওয়ার্ড / ব্যবহারকারীর নামটি বাশ ইতিহাসে রেকর্ড করা আছে .. তবে এটি আমার পক্ষে কাজ করে।
ওয়েস্টার্নগুন

এর জন্য আপনাকে ধন্যবাদ, আমি ঠিক তাই করতে চাইছিলাম যদিও এটি মাস্টারকে ধাক্কা দেয়। আমি কীভাবে মাস্টার ছাড়াও একটি শাখায় ঠেলা দেব?
স্টিভেন অ্যান্ডারসন

2
@ ওয়েস্টার্নগান আপনার বাশ ইতিহাসে রেকর্ড হতে বাধা দিতে চাইলে url এ পাসওয়ার্ড সরবরাহ করবেন না। ব্যবহার https://'B_user_name'@github.com/B_user_name/project.git। এটির পাসওয়ার্ডের জন্য অনুরোধ করা উচিত B_user_name
সূক্ষ্মদর্শক

24

আমি একটি কাস্টম ব্যবহার করে একটি এসএসের উপন্যাস সেটআপ করেছি IdentityFileএবং আমার কাস্টম me-githubহোস্টনেম ব্যবহার করতে উত্সটি পুনরায় লিখেছি ।

#when prompted enter `id_rsa_user1` as filename
ssh-keygen -t rsa

# ~/.ssh/config
Host user1-github
HostName github.com
Port 22
User git
IdentityFile ~/.ssh/id_rsa_user1

#check original remote origin url
git remote -v
origin git@github.com:user1/my-repo.git

#change it to use your custom `user1-github` hostname
git remote rm origin
git remote add origin git@user1-github:user1/my-repo.git

5
তারপরে অ্যাডটি সরানোর পরিবর্তে আমরা রিমোট ইউআরএল দ্বারা এটি পরিবর্তন করতে পারি: git remote set-url origin git@user1-github:user1/my-repo.git h
নিন ফাম

18

আপনি যদি git@github.com:username/projectname.gitএইচটিটিপিএস URL এর পরিবর্তে কোনও এসএসএইচ ইউআরএল ( ) ব্যবহার করেন তবে আপনি $GIT_SSH_COMMANDপরিবেশের পরিবর্তনশীলটি ব্যবহার করে সাময়িকভাবে একটি আলাদা এসএসএইচ কী উল্লেখ করতে পারেন :

$ GIT_SSH_COMMAND="ssh -i different_private_key" git push

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


1
এটি আমার পক্ষে কার্যকর হয়নি, আকর্ষণীয়ভাবে user.nameএবং user.emailএর git configপরিবর্তিত অ্যাকাউন্টটি বদলে দেবে যে কোনও প্রতিশ্রুতি সম্পর্কিত যা
কেভিন ঝাও ২

এটা আমার জন্য কাজ করেছে। উত্তরটি আরও পরিষ্কার করার জন্য একটি ছোট্ট মন্তব্য comment "ভিন্ন_প্রাইভেট_কি" হোস্টএ-তে একটি ফাইল যা ব্যবহারকারীর ব্যক্তিগত কী রয়েছে যার পক্ষ থেকে আমরা হোস্টএর ইউজারএর উপর "গিট পুশ" করতে চাই। আপনাকে এই ফাইলটি হোস্টএ-তে তৈরি করতে হবে (উদাহরণস্বরূপ, ~ / .ssh / id_rsa_userB হিসাবে) এবং সেখানে B / .ssh / id_rsa ফাইলের বিষয়বস্তু হোস্টবি থেকে সেখানে রাখতে হবে যেখানে ইউজার বি রয়েছে। এমনকি ইউএসবি হোস্টএতে বিদ্যমান বা বিদ্যমান না থাকলেও এটি কিছু যায় আসে না।
আলেকজান্ডার সাময়লোভ

15

git pushগিট চালানোর পরে যদি পাসওয়ার্ডের জন্য জিজ্ঞাসা করে userতবে আপনি এইভাবে চাপ new_userদিতে চান তবে আপনি ব্যবহার করতে পারেন git config remote.origin.url:

$ git push
user@my.host.com:either/branch/or/path's password:

এই মুহুর্তে ^Cপ্রস্থান করার জন্য ব্যবহার করুন git pushএবং নিম্নলিখিত ধাপে অনুসরণ করুন new_user

$ git config remote.origin.url
user@my.host.com:either/branch/or/path

$ git config remote.origin.url new_user@my.host.com:either/branch/or/path

$ git push
new_user@my.host.com:either/branch/or/path's password:

হ্যালো, আমি অ্যাটলাসিয়ান স্ট্যাশগুলিতে এগিয়ে যাওয়ার জন্য এই সমাধানটি চেষ্টা করেছিলাম। আমি ত্রুটি পেয়েছি "<URL> / তথ্য / রেফার্স পাওয়া যায় নি: আপনি সার্ভারে গিট আপডেট-সার্ভার-তথ্য চালিয়েছেন?" আমি মনে করি না স্ট্যাশ-এ কমান্ড চালাতে পারি। কীভাবে এটি সমাধান করবেন আপনার একটি ধারণা আছে? ধন্যবাদ!
জসোল্ট সিলাজিই

গিটহাবের জন্য, git config remote.origin.url https://different_user@github.com/different_user/repo.git
এটির

13

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

উদাহরণ:

গিট ক্লোন https: //username@github.com/username/reponame.git

গিট ক্লোন https: //username@bitbucket.org/username/reponame.git


4
এই উত্তরে কমপক্ষে আরও বেশি upvotes থাকা উচিত। আপনি যদি কৃষ্ণা কাভুরের কথা মত না করেন তবে আপনার সমস্যাটি সবসময়ই থাকবে কারণ বিশ্বব্যাপী আপনার ব্যবহারকারী নাম 1 এবং স্থানীয়ভাবে আপনার ব্যবহারকারী নাম 2 থাকলেও গিট বিশ্বব্যাপী নামটি ব্যবহার করার চেষ্টা করবে।
মার্কন

এটা কাজ করে না. আমি এটা ব্যবহার করা হয় এবং এটা বলে, fatal: repo not found
ওয়েস্টার্নগান

1
এটি সর্বদা কাজ করে যেহেতু আমার কাছে 3 টি পৃথক ক্লায়েন্টের 3 টি পৃথক প্রকল্প রয়েছে t এটি একটি অলৌকিক কাজ করে। দয়া করে আপনার রেপো পথটি সঠিক কিনা তা পরীক্ষা করুন।
কৃষ্ণমূর্তি আচার্য

7

যদি এটি আপনার সমস্যা হয়

remote: Permission to username1/repo.git denied to username2.
fatal: unable to access 'https://github.com/username1/repo.git/':
The requested URL returned error: 403

গিট কনফিগারেশন ব্যবহার করে টার্মিনাল থেকে ব্যবহারকারী নাম এবং ইমেল পরিবর্তন করা ছাড়াও:

$ git config --global user.name "Bob"
$ git config --global user.email "bob@example.com"

আপনার কেচেইন থেকে অনুমোদনের তথ্য সরিয়ে ফেলতে হবে। এই সমাধানটি বের করতে আমাকে বেশ কয়েক ঘন্টা সময় লেগেছে I আমি দেখতে পেয়েছিলাম যে আমার কীচেইনে আমারও শংসাপত্র রয়েছে।

কীচেন অ্যাক্সেস খুলুন, সমস্ত আইটেমগুলিতে ক্লিক করুন এবং গিট অনুসন্ধান করুন। সমস্ত কীচেন মুছুন


উইন্ডোজ 7 কিচেইনের সমকক্ষ কি?
থমাস আইডে

নিশ্চিত নয়, তবে তা খুঁজে পাবেন
মুয়াইড ইবুকুন

আমার ধারণা আমি এখানেও আটকা পড়েছি। আপনি কি খুঁজে পেয়েছেন?
সন্দীপন নাথ

না, শেষ পর্যন্ত এটি খুঁজে পেল না, তবে আমি অনুমান করছি যে এটি এত কঠিন হওয়া উচিত নয়
মুয়াইড ইবুকুন

1
কীচাইন থেকে অনুমোদনের তথ্য সরিয়ে দেওয়ার বিষয়ে পরামর্শের জন্য ধন্যবাদ
লুজা শ্রেষ্ঠ

7

আমি আলাদা আলাদা ব্যবহারকারীর সাথে দুটি পৃথক গিটহাব অ্যাকাউন্টে কোড ঠেলে এক মেশিন ব্যবহার করছি। ধরে নিচ্ছি আপনি ইতিমধ্যে একটি অ্যাকাউন্ট সেট আপ করেছেন এবং একটি নতুন অ্যাকাউন্ট যুক্ত করতে চান:

  1. নতুন এসএসএইচ কী তৈরি করুন ssh-keygen -t rsa -C "myaddress@example.com"
  2. এটি সংরক্ষণ করুন, কিন্তু বিদ্যমানটিকে ওভাররাইড করবেন না মনে রাখবেন id_rsa। এটির একটি আলাদা নাম দিনid_rsa_another
  3. কীটির সামগ্রীগুলি আপনার গিটহাব অ্যাকাউন্টে অনুলিপি করুন:

সেটিংস -> এসএসএইচ এবং জিপিজি কী -> নতুন এসএসএইচ কী -> একটি লেবেল দিন এবং কীটি আটকে দিন -> এসএসএইচ কী যুক্ত করুন

  1. Ssh এজেন্টে কী যুক্ত করুন: ssh-add ~/.ssh/id_rsa_another
  2. একটি গিটহাব হোস্ট সেটআপ touch ~/.ssh/configকরুন: আপনার অ্যাকাউন্টগুলিতে কনফিগারেশন সরবরাহ করে একটি কনফিগার ফাইল তৈরি করুন এবং ফাইলটি সম্পাদনা করুন:
#first account
Host github.com-first
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa

#another account
Host github.com-another
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_another

আপনি ssh এজেন্টে কী কী যুক্ত করেন তার উপর নির্ভর করে আপনার প্রথম অ্যাকাউন্টটি ব্যবহার করার জন্য বিভিন্ন অ্যাকাউন্ট থেকে চাপ দিতে সক্ষম হবেন ssh-add ~/.ssh/id_rsa

আপনি আপনার ব্যবহারকারীর ইমেলটিও পরিবর্তন করতে চাইতে পারেন:

git config --global user.email "myaddress@example.com"

বা কোনও অ্যাকাউন্টে কোড বিযুক্ত করার সময় অনুমতি ত্রুটির ক্ষেত্রে ssh কীগুলি সাফ করুন:

ssh-add -D


1
হ্যাঁ, আমি ইতিমধ্যে একাধিক অ্যাকাউন্ট হিসাবে সেট করেছি। তবে আমি কীভাবে প্রথম অ্যাকাউন্টে চাপ দিতে পারি। আপনি দয়া করে কমান্ড ভাগ করতে পারেন?
কোডমিকি

"আমি কীভাবে চাপ দিতে পারি" বলতে কী বোঝ? না git pushকাজ না? আপনার কী যুক্ত করার পরে আপনি চাপ দিতে সক্ষম হবেন
টমাসজ বার্টকোভিয়াক

আপনার প্রতিটি রেপো প্রকল্পের জন্য ব্যবহারকারী সেট করা উচিত it গিট কনফিগারেশন ইউজার.ইমেল
জেসমিন্টম্প

6

শংসাপত্র ব্যবস্থাপককে যান উইন্ডোজ শংসাপত্রগুলিতে যান জেনেরিক শংসাপত্রগুলির অধীনে প্রবেশগুলি মুছুন আবার সংযোগ করার চেষ্টা করুন।


ধন্যবাদ। পথটি Control Panel\All Control Panel Items\Credential Manager-> Windows Credentials
সাহেদ

4

পূর্বে উল্লিখিত হিসাবে, আপনি ব্যবহার করতে পারেন

git config user.name her_username
git config user.email her_email

একক রেপোর জন্য ম্যানুয়ালি ব্যবহারকারী নাম এবং ইমেল সেট করতে, তবে আপনাকে এই আদেশটি যুক্ত করতে হবে:

git commit --amend --reset-author

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


এটি সত্য নয়। --reset-author(সঙ্গে --...) গত সর্বশেষ টাইমস্ট্যাম্প সর্বশেষ কনফিগার নাম / ইমেল করা হবে কমিট, এবং এছাড়াও। এটি কনফিগার ফাইলের পরিবর্তনগুলিকে প্রভাবিত করে না।
রামন স্নির

3

অন্যান্য ব্যবহারকারীর ব্যবহারের জন্য আপনি একটি নতুন দূরবর্তী URL যুক্ত করতে পারেন git remote add origin-username https://username@github.expedia.biz/repository_name.git

এর পরে, আপনি যদি ব্যবহারটি ধাক্কা দেন তবে এটি আপনাকে git push -u origin-username masterপাসওয়ার্ডের জন্য অনুরোধ করবে।


2

গিট কনফিগার ব্যবহারকারীর নাম কেবলমাত্র আমার নামটি পরিবর্তন করে। আমি এখনও ঠেলাতে পারি না। এইভাবেই আমি এটি সমাধান করেছি এবং আমি মনে করি এটি আমার পক্ষে একটি সহজ উপায়।

  1. আপনি যে কম্পিউটারে কম্পিউটারে চাপ দিতে চান তার নামে একটি এসএসএইচ কী তৈরি করুন আপনি https://help.github.com/articles/connecting-to-github-with-ssh/ ব্যবহার করবেন

  2. আপনি https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ এ চাপ দিতে চান এমন গিথব ব্যবহারকারী অ্যাকাউন্টে এই কীটি যুক্ত করুন

  3. এসএসএইচ দিয়ে ক্লোন করতে বেছে নিন

আপনি এখন এই রেপোতে এই ব্যবহারকারী হিসাবে প্রবেশ করতে পারেন।


2

যদি উইন্ডোজ এবং উইন্ডোজের জন্য ব্যবহারকারী গিট এবং managerশংসাপত্রগুলি (ওরফে Git-Credential-Manager-for-Windows লিংক ) পরিচালনার জন্য থাকে তবে সমস্যাটি হ'ল টোকেনগুলি httpsব্যবহারের ক্ষেত্রে গিটহাবের দিকে চাপ দেওয়ার সময় ব্যবহারকারীদের মধ্যে স্যুইচ করার সহজ কোনও উপায় নেই OAuth

কারণটি হ'ল টোকেনটি এই হিসাবে সঞ্চিত রয়েছে:

  • ইন্টারনেট ঠিকানা: git:https://github.com
  • ব্যবহারকারীর নাম: Personal Access Token
  • পাসওয়ার্ড: OAuth_Token

URL এর বিভিন্নতা Internet Addressকাজ করে না, উদাহরণস্বরূপ:

  • git:https://username@github.com
  • git:https://github.com/username
  • ...

সমাধান: নামস্থান । এটি কনফিগারেশনের জন্য বিশদে পাওয়া যায় Git-Credential-Manager-for-Windows:

এটি থেকে উদ্ধৃতি:

নামস্থান

সঞ্চিত শংসাপত্রগুলির জন্য নেমস্পেস সেট করে।

ডিফল্টরূপে জিসিএম সমস্ত সঞ্চিত শংসাপত্রের জন্য 'গিট' নেমস্পেস ব্যবহার করে, এই কনফিগারেশন মানটি সেট করা বিশ্বব্যাপী, অথবা প্রতি হোস্টের জন্য ব্যবহৃত নেমস্পেস নিয়ন্ত্রণের অনুমতি দেয়।

git config --global credential.namespace name

এখন, উইন্ডোজ শংসাপত্র ব্যবস্থাপক হিসাবে আপনার শংসাপত্র সংরক্ষণ করুন:

  • ইন্টারনেট ঠিকানা: git.username:https://github.com
  • ব্যবহারকারীর নাম: Personal Access Token
  • পাসওয়ার্ড: OAuth_Token

লক্ষ্য করুন যে আমরা পরিবর্তিত হয়েছি: git-> git.username(যেখানে আপনি usernameআপনার প্রকৃত ব্যবহারকারীর নাম বা এর স্বার্থে, আপনি অনন্য শনাক্তকারী হিসাবে যা খুশি তাই পরিবর্তন করতে পারেন)

এখন, সংগ্রহস্থলের ভিতরে যেখানে আপনি নির্দিষ্ট এন্ট্রিটি ব্যবহার করতে চান, চালনা করুন:

git config credential.namespace git.username

(আবার ... usernameআপনার পছন্দসই মান দিয়ে প্রতিস্থাপন )

আপনার .git/configউইজেটে এখন থাকবে:

[credential]
    namespace = git.username

এট ভয়েইল! উইন্ডোজ শংসাপত্রের স্টোর থেকে ডান শংসাপত্রগুলি টানা হবে।

এটি অবশ্যই কোন ব্যবহারকারী / ই-মেলটি চাপছে তা পরিবর্তন করে না। তার জন্য আপনাকে সাধারণ user.nameএবং কনফিগার করতে হবেuser.email


ধন্যবাদ. এটি আমার জন্য সবচেয়ে ভাল কাজ করেছে (উইন্ডোজ 10) উইন্ডোজ শংসাপত্রগুলিতে অন্যান্য গিট ব্যবহারকারীর অ্যাকাউন্টগুলির অস্থায়ী মোছা নেই, কোনও "হ্যাক" নেই। সমস্ত সংগ্রহস্থলের জন্য আমার কাছে একটি গ্লোবাল / হোস্ট গিট ব্যবহারকারী রয়েছে। এর মধ্যে একটির জন্য আলাদা আলাদা শংসাপত্রের প্রয়োজন। যদি এটি আপনার পরিবেশের সাথেও খাপ খায়, তবে উইন্ডোজ শংসাপত্রগুলিতে যেমন রয়েছে ঠিক তেমন কিছু ছেড়ে যান, আপনার "বিশেষ" সংগ্রহস্থলে যান এবং git config credential.namespace git.usernameউল্লিখিত (ইউজার নেম প্রতিস্থাপন) হিসাবে টাইপ করুন । আপনি যদি পরের বার চাপ দেন তবে গিটটি আপনাকে ব্যবহারকারীর জন্য নতুন শংসাপত্রগুলির জন্য জিজ্ঞাসা করবে।
ford04

2

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

একই ব্যবহারকারীর নাম হিসাবে ধাক্কা, তবে বিভিন্ন গিথাব অ্যাকাউন্টে

  1. আপনার ২ য় গীথাব অ্যাকাউন্টের জন্য একটি দ্বিতীয় এসএসএইচ কী ( ঠিক তেমন) সেট আপ করুন

  2. অ্যাকাউন্টগুলির মধ্যে এইভাবে পরিবর্তন করুন:

আমার নতুন 2 র্থ গিথুব অ্যাকাউন্টটি পুশ করুন

ssh-add -D
ssh-add ~/.ssh/ssh_key_for_my_2nd_account
git push

আমার মূল অ্যাকাউন্টে ঠেলাও

ssh-add -D
ssh-add ~/.ssh/id_rsa   
git push

1

আপনার যদি https://desktop.github.com/ থাকে
তবে আপনি পছন্দগুলি (বা বিকল্পগুলি) -> অ্যাকাউন্টগুলিতে যেতে পারেন
এবং তারপরে সাইন আউট করে সাইন ইন করতে পারেন।


কোন পছন্দ মেনু আছে?
থমাস আইয়েড

@ ThomasEyde ম্যাকোজে আছে এটি উইন্ডোজে "বিকল্পগুলি"।
সৎ আবে

0

প্রতিশ্রুতিবদ্ধতা ঘটে এমন ইউজারিড কনফিগার ফাইলে সংরক্ষিত আছে।

সংগ্রহস্থল vi .git / কনফিগারেশনের শীর্ষে যান

যথাযথ ইউজারিড রাখতে "[দূরবর্তী" উত্স "] এর পরে তালিকাভুক্ত ইউআরএল লাইনটি পরিবর্তন করুন


0

আপনি যদি ssh ব্যবহার করেন এবং পান

কিছু_ ব্যবহারকারীর নাম / repository.git এর অনুমতি অ্যালিস_উজারনেমে অস্বীকৃত

আপনি যখন এলিস_উজারনেম হিসাবে চাপ দিতে চান না, তা নিশ্চিত করে নিন যে অ্যালিস_উজারনেমে আপনার কম্পিউটারের ssh কী এর গিথব অ্যাকাউন্টে যুক্ত না হয়েছে।

আমি এলিসের গিথুব অ্যাকাউন্ট থেকে আমার এসএস কী মুছে ফেলেছি এবং পুশ কাজ করেছে।

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