ما و تیممون متوجه شدیم دسترسی به پلتفرم گیتهاب از طریق ارتباط HTTPS در ایران مختل(صیانت) شده و امکان clone و pull یا push کردن وجود نداره. اما متوجه شدیم که ارتباط SSH باز هست، و با استفاده از این روش همه چی بخوبی کار میکنه.
تو این روش شما باید روی هر کامپیوتری که دارید یک بار مراحل زیر رو انجام بدید:
1. از دستور ssh-keygen (راهنما) استفاده کنید تا برای شما یک جفت کلید عمومی و شخصی ایجاد کنه.
در واقع این کلیدها یک کد رمزگذاری شده هستن که توی کامپیوتر شما ذخیره خواهند شد.)
$ ssh-keygen
2. پوشهی پیشفرضی که این دو تا فایل رو میتونید توش پیدا کنید. مثلا برای من مسیر زیر هست:
[Windows] >> C:\Users\Javad\.ssh
[Linux] >> /home/javad/.ssh
توی این پوشه شما باید دو تا فایل با اسمهای زیر ببینید: id_rsa و id_rsa.pub
3. محتویات فایل id_rsa.pub رو کپی کنید؛ که یه رشته کد مثل زیر خواهد بود:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== javad@javad-ROG--G15
⚠️ مراقب باشید محتویات فایل id_rsa رو هیچ جایی یا به هیچ کسی ندید!!!
4. به سایت گیتهاب برید (که خداروشکر فیلتر نیست فعلا!) وارد بخش تنظیمات پروفایلتون بشید: Settings
4. روی SSH and GPG keys بزنید و یک SSH Key جدید ایجاد کنید.
5. اسمش رو هر چیزی دوس دارید بگذارید و کد کپی شده از مرحله 3 رو داخل کادر بچسبونید و در نهایت دکمه Add SSH Key رو بزنید.
6. یه قدم دیگه مونده: حالا برای هر ریپوزیتوری گیت هابی رو که میخاید clone کنید، باید برید داخل صفحهی ریپوزیتوری، و دکمهی سبزرنگ Code رو که میزنید از tab مربوط به SSH لینک رو بردارید و برای clone کردن استفاده کنید. مثال:
git@github.com:opencv/opencv.git
بله. شما کافیه داخل پوشهی ریپوزیتوری برید و آدرس گیتهابشو اصلاح کنید به لینک بالا:
git remote set-url origin git@github.com:XXX/YYY.git
با این کار شما الان باید بتونید براحتی پروژه هاتون رو روی گیت هاب نگه دارید.
✌️