سلام این پست به نوعی یه یادآوری و یه یادداشته تا خودم هم این مورد رو فراموش نکنم.
وارد کردن نام کاربری و رمزعبور هنگام پوش کردن ریپو توسط git به github از جمله کارهاییه که حداقل واسه من یکی خیلی سخته مخصوصاً با رمزعبورهایی که حفظ کردنش تقریباً محاله و تازه با این حال که github خودش راهکاری برای این مشکل تهیه کرده. البته این کار ربطی به خود گیت نداره و به طور دقیقتر اتوماتیک کردن پروسه لاگین در یک ماشین توسط ssh هست.
برای اینکار اوّل از همه لازم داریم که یه ssh key ایجاد کنیم، برای این کار از دستور زیر استفاده میکنیم:
% ssh-keygen -t rsa -C "[email protected]" Generating public/private rsa key pair. Enter file in which to save the key (/your_home_path/.ssh/id_rsa): Enter passphrase (empty for no passphrase): [Type a passphrase] Enter same passphrase again: [Type passphrase again]
به جای عبارت “[email protected]” آدرس ایمیلی که باهاش اکانت github باز کردین رو بنویسید، در جواب خط دوّم اگر نمیخواین فایل id_rsa رو جای دیگهای ذخیره کنید دکمهی Enter رو فشار بدین. و در جواب خطوط ۳ و ۴ هم بدون تایپ چیزی دکمهی Enter رو بزنید. (یه چیزی شبیه نصب برنامه توی ویندوز، Next next next … :))) )
حالا ssh-agent رو اگر در حال اجرا نیست اجرا کرده و کلیدی رو که ساختیم بهش اضافه میکنیم:
% eval "$(ssh-agent -s)" % ssh-add ~/.ssh/id_rsa
حالا باید ssh key رو به اکانت github اضافه کنیم، برای اینکار در قسمت تنظیمات به بخش SSH keys رفته با دکمهی Add SSH key یک کلید جدید اضافه و تمام محتویات فایل ~/.ssh/id_rsa.pub رو بهش وارد میکنیم.
تمام شد. از این به بعد اگر برای ارتباط با مخزن اگر از ssh استفاده کنید دیگه لازم نیست نام کاربری و رمزعبورتون رو وارد کنید.
نکته۱: اگر مخزنی دارید که میخواین لینکش رو به ssh تغییر بدین دستور زیر رو با تغییر your_user_name و your_repo با مقادیر مورد نظرتون در شاخه مخزن وارد کنید:
git config remote.origin.url [email protected]:your_user_name/your_repo.git
نکته۲: اگر نمیدونید از کدوم لینک استفاده کردین دستور زیر رو در مسیر repo بزنید:
git config -l
و خطی که اوّلش نوشته “remote.origin.url” رو ببینید. خروجی این دستور شامل اطلاعات مفید دیگهای در مورد مخزن هم هست.
نکته۳: اگر از سایت دیگهای به جای github مثل bitbucket استفاده میکنید هم مراحل انجام کار همینا خواهند بود به غیر از قسمتی از سایت که باید ssh key رو بهش اضافه کنید. ولی بهتره قبل از انجامش داکیومنتهای خود سایت و سرویس رو یه نگاهی بندازین.