دانلود تنها یک زیر پوشه از یک repository گیت‌هاب به سبک هلو برو تو گلو

صورت مسال اینه: ما تنها یک زیر پوشه از یک repository گیت‌هاب رو لازم داریم و می خوایم دانلودش کنیم. بذارید با مثال برم جلو، repositoryای داریم با عنوان TensorFlow Models که شخصا از قسمت Tensorflow Object detection API اون برای پردازش تصویر روی رزبری‌پای استفاده می‌کنم و زیاد پیش میاد که لازم بشه از اول دانلودش کنم.

همه‌ی آموزش‌های اون بیرون میان میگن اول کل ریپازیتوری رو دانلود کنید تا با این بخش Object Detection کار کنیم. که خوب این repository حجمی حدود ۷۰۰-۸۰۰ مگابات داره ولی ما برای کار پردازش تصویر فقط به زیر پوشه‌ی object_detection اون احتیاج دارم که حجمش تنها  ۱۲۴مگابایته.

بیایم و هربار کل repository رو دانلود کنم از یک سمت حجم زیادی از اینترنتم مصرف می‌شه و از اون طرف فایل‌هایی رو دانلود کردیم که به بهشون احتیاج نداریم و روی رزبری‌پای فضا اشغال کردن.

اگر مشکل پهنای باند و حجم اینترنت نداشته باشیم قابل قبوله که اول کل repository رو دانلود کنیم و بعد فایل‌های اضافی رو بریزیم دور، اما راه حل معقول اینه که فقط همون پوشه‌ای که بهش کار داریم رو به شکل مجزا دانلود کنیم.

من اکثر راه حل‌های موجود رو تست کردم و فقط یکیشون هست که بدون کثافت کاری زیادی میاد و ما رو به هدفمون می‌رسونه. پس بیاد با من در ادامه‌ی این نوشته همراه باشید تا راحت‌ترین راه دانلود تنها یک زیر پوشه از یک repository گیت‌هاب رو با هم یاد بگیریم.

دانلود تنها یک فایل از github:

برای دانلود یک فایل مراحل زیر رو انجام می‌دیم.

فرض کنید فقط فایل ftxt2img.py رو می‌خوایم از repository زیر بگیریم.

FarsiText2Image! — ftxt2img

برای این کار ابتدا فایل مورد نظرمون رو باز کرده و بعد روی گزنه‌ی Raw کلیک می‌کنیم.

بعدش کافیه آدرس صفحه‌ای که باز می‌شه رو کپی کرده و با دستور wget فایل مورد نظرمون رو دانلود کنیم.

به عنوان مثال برای فایل بالا دستور زیر رو وارد می‌کنیم:

wget https://raw.githubusercontent.com/mh-salari/ftxt2img/master/ftxt2img.py

دانلود تنها یک زیر پوشه از یک repository گیت‌هاب:

راحت‌ترین راه دانلود یک زیر پوشه اینه که از برنامه‌ی GitHub clone استفاده کنیم.

برای نصب اون دستور زیر رو در ترمینال وارد کنید:

pip3 install -e git+git://github.com/HR/github-clone#egg=ghclone

دقت کنید که برای نصب برنامه‌ی بالا به pip3 و برای اجرای اون به python3 احتیاج داریم.

بقیه‌ی مراحل کار بسیاز ساده‌س، بهتره با مثال بریم جلو.

برای دانلود همون Tensorflow Object detection API که در مقدمه گفتم دستور زیر رو وارد می‌کنیم.

ghclone https://github.com/tensorflow/models/tree/master/research/object_detection

پس الگوی استفاده از دستور ghclone به صورت زیر میشه:

Usage:
  ghclone <url> [-t | --token=<token>]
  ghclone (-h | --help)
  ghclone (-v | --version)

Examples:
  ghclone https://github.com/tensorflow/models/tree/master/research/object_detection

Options:
  -h --help           Show this screen.
  -v --version        Show version.
  -t --token=<token>  Set a GitHub OAuth token

دقت کنید که برای دانلود از repositoryهای private نیازه که OAuth token مربطه رو بعد از -t وراد کنیم.

+اینجا نحوه‌ی بدست آورد OAuth token توضیح داده شده.

همچنین اگر هنگام دانلود به خطای 403 Forbidden برخوردید احتمالا بدلیل رسیدن به rate limit گیت‌هاب است و با افزودن OAuth token می‌تونید این خطا رو رفع کنید.

منابع:

عکس عنوان این تصویر از اکانت توییتری アボガド6گرفته شده.

https://github.com/HR/github-clone


نویسنده: محمد حسین سالاری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *