GIT-CREDENTIAL-CACHE(1) Git Manual GIT-CREDENTIAL-CACHE(1)

git-credential-cache - ابزار کمکی برای ذخیره موقت گذرواژه‌ها در حافظه

git config credential.helper 'cache [<options>]'

این دستور، اطلاعات هویتی را برای استفاده توسط برنامه‌های بعدی گیت در حافظه موقت (کش) نگهداری می‌کند. اطلاعات هویتی ذخیره‌شده در حافظه فرآیند cache-daemon نگهداری می‌شوند (به جای این که در یک فایل نوشته شوند) و پس از یک زمان انقضای قابل تنظیم فراموش می‌شوند. اگر cache-daemon متوقف شود (به عنوان مثال با راه‌اندازی مجدد سیستم)، اطلاعات هویتی زودتر فراموش خواهند شد. حافظه کش از طریق یک سوکت دامنه یونیکس (Unix domain socket) در دسترس است و دسترسی به آن با مجوزهای سیستم فایل به کاربر جاری محدود شده است.

احتمالاً نمی‌خواهید این دستور را مستقیماً اجرا کنید؛ این دستور برای استفاده به عنوان یک ابزار کمکی اطلاعات هویتی توسط سایر بخش‌های گیت در نظر گرفته شده است. به gitcredentials(7) یا بخش مثال‌ها (EXAMPLES) در ادامه مراجعه کنید.

--timeout <seconds>

مدت زمان به ثانیه برای نگهداری اطلاعات هویتی در حافظه موقت (پیش‌فرض: ۹۰۰).

--socket <path>

از <path> برای ارتباط با دیمن کش در حال اجرا (یا راه‌اندازی یک دیمن کش جدید در صورت اجرا نشدن آن) استفاده می‌کند. به طور پیش‌فرض $XDG_CACHE_HOME/git/credential/socket است، مگر این که ~/.git-credential-cache/ وجود داشته باشد که در این صورت از ~/.git-credential-cache/socket استفاده می‌شود. اگر دایرکتوری خانگی شما روی یک سیستم فایل متصل به شبکه قرار دارد، ممکن است لازم باشد آن را به یک سیستم فایل محلی تغییر دهید. باید یک مسیر مطلق مشخص کنید.

اگر می‌خواهید دیمن زودتر خاتمه یابد و تمام اطلاعات هویتی کش‌شده را پیش از اتمام زمان انقضای آن‌ها فراموش کند، می‌توانید یک دستور عملیاتی exit صادر کنید:

git credential-cache exit

هدف این ابزار کمکی کاهش دفعاتی است که باید نام کاربری یا گذرواژه خود را وارد کنید. برای مثال:

$ git config credential.helper cache
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
[work for 5 more minutes]
$ git push http://example.com/repo.git
[your credentials are used automatically]

می‌توانید گزینه‌ها را از طریق متغیر پیکربندی credential.helper مشخص کنید (این مثال زمان کش را به ۱ ساعت افزایش می‌دهد):

$ git config credential.helper 'cache --timeout=3600'

برخی از سرورهای ریموت توکن‌های دسترسی شخصی را می‌پذیرند که به صورت تصادفی تولید شده و به خاطر سپردن آن‌ها دشوار است. این توکن‌ها معمولاً طول عمری در حد چند هفته یا چند ماه دارند.

دستور git-credential-cache ماهیتاً برای ذخیره‌سازی دائمی توکن‌های دسترسی شخصی نامناسب است. اطلاعات هویتی پس از انقضای زمان کش فراموش خواهند شد. حتی اگر زمان انقضای طولانی تنظیم کنید، در صورت توقف دیمن، اطلاعات هویتی فراموش می‌شوند.

برای جلوگیری از تولید مجدد و مکرر توکن‌های دسترسی شخصی، یک ابزار کمکی با قابلیت ذخیره‌سازی دائمی را پیکربندی کنید. همچنین می‌توانید یک ابزار کمکی OAuth را برای تولید خودکار اطلاعات هویتی پیکربندی نمایید. به gitcredentials(7)، بخش‌های "Available helpers" و "OAuth" مراجعه کنید.

بخشی از مجموعه git(1)

2026-06-29 Git 2.55.0