پایگاه دانش

همگام‌سازی دوطرفه با مخزن GitHub شما

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

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

چه مواردی همگام‌سازی می‌شوند

هر تغییری که در فایل‌های وب‌سایت خود ایجاد کنید، صرف‌نظر از نحوه اعمال آن (مدیر فایل، SFTP، ویرایشگر پوسته WordPress، یا یک نشست SSH)، به یک کامیت در مخزن شما تبدیل می‌شود. نیازی نیست به ما اطلاع دهید؛ ما وب‌سایت شما را با آخرین کامیت آن مقایسه می‌کنیم و تفاوت‌ها را ارسال (Push) می‌کنیم.

در جهت مخالف، ارسال تغییرات به شاخه‌ متصل‌شده‌ی شما، روی وب‌سایت اعمال می‌شود.

مواردی که هرگز کامیت نمی‌کنیم

فایل wp-config.php شما عمداً و برای همیشه مستثنی شده است. این فایل حاوی رمز عبور پایگاه داده و کلیدهای احراز هویت شما است و آن‌ها به یک مخزن تعلق ندارند؛ حتی یک مخزن خصوصی، زیرا گیت تاریخچه را برای همیشه حفظ می‌کند.

همچنین موارد زیر مستثنی شده‌اند: فایل‌های .env، کلیدها و گواهی‌نامه‌ها، پوشه آپلودهای شما، حافظه‌های پنهان و node_modules. مخزن، منبع وب‌سایت شماست، نه نسخه پشتیبان. رسانه‌ها به نسخه‌های پشتیبان شما تعلق دارند که در حال حاضر در آنجا نگهداری می‌شوند، و قرار دادن آن‌ها در اینجا باعث کند شدن هر ارسال (Push) و غیرقابل‌خواندن شدن هر تغییر می‌شود.

اگر هر دو طرف تغییراتی ایجاد کرده باشند چه اتفاقی می‌افتد

این پرسشی است که ارزش خواندن دارد. فرض کنید فایلی را در مدیر فایل ویرایش می‌کنید، و در همین میان یکی از همکارانتان تغییری را به همان مخزن ارسال (Push) می‌کند.

ما متوقف می‌شویم. ما ادغام (Merge) انجام نمی‌دهیم، و روی هیچ‌کس بازنویسی (Overwrite) نمی‌کنیم. زبانه استقرار (Deploy) وب‌سایت عبارت "مخزن شما تغییراتی دارد که آن‌ها را ندیده‌ایم" را نمایش می‌دهد، کامینی را که باید بررسی کنید نام می‌برد، و منتظر شما می‌ماند. در طول مدت انتظار، هیچ‌چیز از هیچ‌یک از دو طرف از بین نمی‌رود؛ ویرایش شما همچنان روی وب‌سایت باقیست و کامیت آن‌ها همچنان در مخزن موجود است.

سپس شما انتخاب می‌کنید:

  • نگهداری فایل‌های این وب‌سایت — ما نسخه شما را روی نسخه آن‌ها قرار می‌دهیم. کامیت‌های آن‌ها در تاریخچه باقی می‌ماند؛ هیچ‌چیز پاک نمی‌شود.
  • استفاده از مخزن، صرف‌نظر کردن از تغییرات وب‌سایت — نسخه مخزن روی وب‌سایت اعمال می‌شود و تغییراتی که در اینجا ایجاد کرده بودید کنار گذاشته می‌شوند. این گزینه مخرب است، به همین دلیل است که نیازمند کلیک عمدی شماست و هرگز کاری نیست که ما از طرف شما انجام دهیم.

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

چرا ممکن است همگام‌سازی متوقف شود

  • حساب GitHub شخصی خود را متصل نکرده‌اید. کلید تا زمانی که این کار را نکنید خاموش می‌ماند.
  • در انتظار شماست. به بخش بالا مراجعه کنید — توقف موقت به خودی خود برطرف نمی‌شود.
  • حساب شما در وضعیت مناسبی قرار ندارد. پس از به‌روزرسانی صورت‌حساب، همگام‌سازی به طور خودکار متوقف و از سر گرفته می‌شود. هیچ‌چیز از بین نمی‌رود.

زبانه استقرار (Deploy) آخرین چند همگام‌سازی، از جمله مواردی که در آن‌ها هیچ تغییری ایجاد نشده بود را نمایش می‌دهد. اگر آن فهرست خالی باشد و همگام‌سازی روشن باشد، احتمال زیادی وجود دارد که حساب متصل‌شده نتواند در مخزن بنویسد — دسترسی آن را بررسی کرده و دوباره متصل شوید.

انتخاب مواردی که همگام‌سازی می‌شوند

به طور پیش‌فرض کل وب‌سایت همگام‌سازی می‌شود. در یک وب‌سایت WordPress، این معمولاً همان چیزی نیست که شما می‌خواهید: این یعنی هر فایلی از هسته WordPress، که شما آن را ننوشته‌اید و ویرایش نخواهید کرد. گزینه «همگام‌سازی فقط این پوشه» را روی پوسته‌ی خود تنظیم کنید — برای مثال wp-content/themes/my-theme — و بقیه موارد دست‌نخورده باقی می‌مانند.

هنوز مشکل دارید؟

پشتیبانی در تمامی پلن‌ها گنجانده شده است و پاسخ‌ها به زبان خود شما ارائه می‌شوند.

تماس با پشتیبانی همه مقالات