دریافت تغییرات از مخزن ریموت

پیش‌نمایش دستور

            

استفاده

git fetch [گزینه‌ها] [] [...]

مثال‌ها

git fetch origin                      # Fetch changes from origin
git fetch --all                        # Fetch from all remotes
git fetch origin develop               # Fetch a specific branch
git fetch --prune                      # Remove deleted remote branches
git fetch --depth=1                    # Shallow fetch

دقیقا چه می‌کند؟

دستور git fetch تغییرات را از یک مخزن ریموت دانلود می‌کند، از جمله شاخه‌ها، تگ‌ها و کامیت‌های جدید. با این حال، این دستور هیچ تغییری در شاخه یا دایرکتوری کاری شما اعمال نمی‌کند و فقط مخزن محلی شما را با آخرین تغییرات ریموت به‌روزرسانی می‌کند.

موارد کاربرد رایج

  • دریافت تغییرات از یک مخزن ریموت خاص.
  • دریافت به‌روزرسانی‌ها از تمام مخازن ریموت موجود در پیکربندی.
  • حذف شاخه‌های حذف شده ریموت از مراجع محلی.
  • انجام دریافت کم‌عمق برای محدود کردن تاریخچه دریافت شده.

مقایسه با `git pull`

دستور git fetch فقط تغییرات را دانلود می‌کند و هیچ تغییری در شاخه کاری شما اعمال نمی‌کند. در حالی که git pull به‌طور خودکار تغییرات را دریافت کرده و آنها را در شاخه فعلی ادغام می‌کند. به این ترتیب، git fetch کنترل بیشتری را به شما می‌دهد، زیرا می‌توانید تغییرات را قبل از ادغام بررسی کنید.

محدودیت‌ها

  • تغییرات را به شاخه فعلی ادغام نمی‌کند. شما باید به صورت دستی از git merge برای ادغام استفاده کنید.
  • نیاز به دسترسی به شبکه برای ارتباط با مخزن ریموت دارد.
  • دریافت از مخازن خصوصی بدون احراز هویت امکان‌پذیر نیست.

گزینه‌ها

  • --all : دریافت از همه مخازن ریموت
  • --prune : حذف شاخه‌های حذف شده ریموت
  • --dry-run : نمایش تغییراتی که دریافت می‌شوند بدون انجام واقعی
  • --quiet / -q : مخفی کردن خروجی
  • --verbose / -v : نمایش جزئیات
  • --depth : محدود کردن دریافت به آخرین n کامیت (دریافت کم‌عمق)
  • --refmap : نگاشت refspec سفارشی
  • : مشخص کردن نام مخزن ریموت (پیش‌فرض 'origin')
  • : مشخص کردن شاخه یا تگ مورد نظر برای دریافت

بهترین شیوه‌ها

  • از git fetch به‌طور منظم استفاده کنید تا از تغییرات ریموت آگاه باشید، مخصوصاً هنگام کار در محیط‌های چند نفره.
  • از --prune برای پاکسازی مراجع محلی و حذف شاخه‌های حذف شده ریموت استفاده کنید.
  • اگر تنها به تاریخچه اخیر نیاز دارید، از --depth برای دریافت کم‌عمق استفاده کنید تا در زمان و پهنای باند صرفه‌جویی شود.

اشتباهات رایج

  • اجرای git fetch بدون بررسی وضعیت مخزن محلی که ممکن است منجر به سردرگمی هنگام ادغام تغییرات شود.
  • استفاده غیرضروری از git fetch --all مخصوصاً زمانی که تنها با یک مخزن ریموت کار می‌کنید، که منجر به دریافت‌های غیر ضروری می‌شود.
  • فراموش کردن ادغام تغییرات دریافتی بعد از اجرای git fetch که ممکن است باعث از دست دادن به‌روزرسانی‌ها شود.

نمای کلی

دستور git fetch برای نگه داشتن مخزن محلی شما همگام با مخزن ریموت بسیار ضروری است. این دستور به شما این امکان را می‌دهد که تغییرات را بدون ایجاد تغییرات در دایرکتوری کاری خود دانلود کنید، که به شما این امکان را می‌دهد که به طور کامل کنترل کنید که چه زمانی و چگونه تغییرات را ادغام کنید.