একটি কমান্ড গিথুব অ্যাকাউন্টগুলি স্যুইচ করে
এই দ্রবণটি একক গিট ওরফে রূপ নেয়। একবার কার্যকর করা হলে, বর্তমান প্রকল্প ব্যবহারকারী অন্য অ্যাকাউন্টে সংযুক্ত হবে be
Ssh কী তৈরি করুন
ssh-keygen -t rsa -C "rinquin.arnaud@gmail.com" -f '/Users/arnaudrinquin/.ssh/id_rsa'
[...]
ssh-keygen -t rsa -C "arnaud.rinquin@wopata.com" -f '/Users/arnaudrinquin/.ssh/id_rsa_pro'
এগুলি আপনার গিটহাব / বিটবকেট অ্যাকাউন্টগুলিতে লিঙ্ক করুন
- ডিফল্ট পাবলিক কী অনুলিপি করুন
pbcopy < ~/.ssh/id_rsa.pub
- আপনার গিটহাব একাউন্টে লগইন করুন
add SSH key
গিথুব পৃষ্ঠায় কীটি আটকান
- অন্যান্য পাবলিক কী অনুলিপি করুন
pbcopy < ~/.ssh/id_rsa_pro.pub
- প্রতিটি অন্যান্য অ্যাকাউন্টের জন্য 2 থেকে 4 ধাপ পুনরাবৃত্তি করুন এবং মানিয়ে নিন
পদক্ষেপ 1. স্বয়ংক্রিয় ssh কী স্যুইচিং।
এর ssh
উপর নির্ভর করে একটি নির্দিষ্ট এনক্রিপশন কী ব্যবহার করতে পাঠাতে আমরা কনফিগার করতে পারি host
। সুন্দর জিনিসটি হ'ল এটির জন্য বেশ কয়েকটি উপাত্ত থাকতে পারে hostname
।
এই উদাহরণ ~/.ssh/config
ফাইলটি দেখুন:
# Default GitHub
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# Professional github alias
Host github_pro
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_pro
গিট দূরবর্তী কনফিগারেশন
আপনি এখন পরিবর্তন git@github.com
দ্বারা গিট রিমোটগুলিতে এই উপকরণগুলি ব্যবহার করতে পারেন git@github_pro
।
আপনি হয় আপনার বিদ্যমান প্রকল্পগুলি রিমোটগুলি (এমন কিছু ব্যবহার করে git remote set-url origin git@github_pro:foo/bar.git
) পরিবর্তন করতে পারেন বা ক্লোন করার সময় এগুলি সরাসরি অভিযোজিত করতে পারেন ।
git clone git@github.com:ArnaudRinquin/atom-zentabs.git
উপনাম ব্যবহার করে, এটি হয়ে যায়:
git clone git@github_pro:ArnaudRinquin/atom-zentabs.git
পদক্ষেপ 2. গিট ইউজার.ইমেল পরিবর্তন করা
গিট কনফিগারেশন সেটিংস বিশ্বব্যাপী বা প্রতি প্রকল্পে হতে পারে। আমাদের ক্ষেত্রে, আমরা প্রতি প্রকল্প সেটিংস চাই। এটি পরিবর্তন করা খুব সহজ:
git config user.email 'arnaud.rinquin@wopata.com'
যদিও এটি সহজ, এটি আমাদের বিকাশকারীদের দীর্ঘস্থায়ী হতে চলেছে। আমরা এটির জন্য একটি খুব সাধারণ গিট ওরফে লিখতে পারি।
আমরা এটি ~/.gitconfig
ফাইল যুক্ত করতে যাচ্ছি ।
[user]
name = Arnaud Rinquin
email = rinquin.arnaud@gmail.com
...
[alias]
setpromail = "config user.email 'arnaud.rinquin@wopata.com'"
তারপরে, আমাদের যা করতে হবে তা হল git setpromail
কেবলমাত্র এই প্রকল্পের জন্য আমাদের ইমেলটি পরিবর্তন করা changed
পদক্ষেপ 3. একটি কমান্ড সুইচ দয়া করে ?!
একক প্যারামিটার-কম কমান্ডের সাহায্যে ডিফল্ট অ্যাকাউন্ট থেকে কোনও নির্দিষ্টটিতে স্যুইচ করা ভাল না? এটি অবশ্যই সম্ভব। এই আদেশের দুটি পদক্ষেপ থাকবে:
- বর্তমান প্রকল্পের রিমোটগুলি বেছে নেওয়া পছন্দসই উপকরণগুলিতে পরিবর্তন করুন
- বর্তমান প্রকল্প user.email কনফিগারেশন পরিবর্তন করুন
আমাদের কাছে ইতিমধ্যে দ্বিতীয় পদক্ষেপের জন্য একটি কমান্ড সমাধান রয়েছে, তবে প্রথমটিটি আরও শক্ত। একটি কমান্ড রিমোট হোস্ট পরিবর্তন
আপনার আরও যোগ করতে অন্য গিট ওরফে কমান্ড আকারে সমাধানটি এখানে আসে ~/.gitconfig
:
[alias]
changeremotehost = !sh -c \"git remote -v | grep '$1.*fetch' | sed s/..fetch.// | sed s/$1/$2/ | xargs git remote set-url\"
এটি সমস্ত হোস্টকে এক হোস্ট থেকে অন্য হোস্টে (ওরফে) পরিবর্তন করতে দেয়। উদাহরণ দেখুন:
$ > git remote -v
origin git@github.com:ArnaudRinquin/arnaudrinquin.github.io.git (fetch)
origin git@github.com:ArnaudRinquin/arnaudrinquin.github.io.git (push)
$ > git changeremotehost github.com github_pro
$ > git remote -v
origin git@github_pro:ArnaudRinquin/arnaudrinquin.github.io.git (fetch)
origin git@github_pro:ArnaudRinquin/arnaudrinquin.github.io.git (push)
তাদের সব একত্রিত করুন
আমাদের এখন দুটি কমান্ডকে একটিতে একত্রিত করতে হবে, এটি বেশ সহজ। আমি কীভাবে বিটবাকেট হোস্ট স্যুইচিংকে একীভূত করব দেখুন।
[alias]
changeremotehost = !sh -c \"git remote -v | grep '$1.*fetch' | sed s/..fetch.// | sed s/$1/$2/ | xargs git remote set-url\"
setpromail = "config user.email 'arnaud.rinquin@wopata.com'"
gopro = !sh -c \"git changeremotehost github.com github_pro && git changeremotehost bitbucket.com bitbucket_pro && git setpromail\"
উত্স লিংক-টিউটোরিয়াল