حساب GitHub اختصاصی خود را به یک سایت متصل کنید و ما هر دو را در هر دو جهت همگام نگه میداریم. این قابلیت رایگان است، تا زمانی که آن را فعال نکنید خاموش میماند، و ما همیشه فقط در مخزنی از حسابی که متعلق به شماست کامیت ثبت میکنیم — هرگز در حسابهای خودمان این کار را انجام نمیدهیم.
چه مواردی همگامسازی میشوند
هر تغییری که در فایلهای سایت خود ایجاد کنید، به یک کامیت در مخزن شما تبدیل میشود؛ صرفنظر از اینکه چگونه آن را تغییر دادهاید: از طریق مدیریت فایل، SFTP، ویرایشگر پوسته WordPress، یا یک نشست SSH. نیازی نیست به ما اطلاع دهید — ما سایت شما را با آخرین کامیت آن مقایسه میکنیم و تفاوتها را ارسال (push) مینماییم.
در جهت عکس، هر ارسال (push) به شاخه متصلشده شما، روی سایت اعمال میشود.
چه مواردی را هرگز کامیت نمیکنیم
فایل wp-config.php شما عمداً و بهطور دائمی مستثنی شده است. این فایل حاوی رمز عبور پایگاه داده و کلیدهای امنیتی احراز هویت شماست، و این موارد جایی در یک مخزن ندارند — حتی یک مخزن خصوصی، زیرا git تاریخچه را برای همیشه نگه میدارد.
همچنین این موارد مستثنی هستند: فایلهای .env، کلیدها و گواهیها، پوشه بارگذاریهای شما، حافظههای موقت (کش) و node_modules. یک مخزن، سورسکد سایت شماست، نه یک نسخه پشتیبان. رسانهها متعلق به نسخههای پشتیبان شما هستند، جایی که در حال حاضر نیز نگهداری میشوند، و قرار دادن آنها در اینجا باعث کُند شدن هر بار push و ناخوانا شدن هر تغییر میشود.
اگر هر دو طرف تغییر کنند چه اتفاقی میافتد
این سؤالی است که ارزش خواندن دارد. فرض کنید فایلی را در مدیریت فایل ویرایش میکنید و همزمان یکی از همکارانتان تغییری را به همان مخزن push میکند.
ما متوقف میشویم. ما ادغام (merge) انجام نمیدهیم و اطلاعات هیچکس را بازنویسی نمیکنیم. برگه Deploy در سایت عبارت "مخزن شما تغییراتی دارد که ما ندیدهایم" را نمایش میدهد، به کامیتی که باید بررسی کنید اشاره میکند، و منتظر شما میماند. در زمان انتظار هیچ چیز در هیچیک از دو طرف از دست نمیرود — ویرایش شما همچنان روی سایت است، کامیت آنها همچنان در مخزن است.
سپس شما انتخاب میکنید:
- فایلهای این سایت حفظ شوند — ما نسخه شما را روی نسخه آنها قرار میدهیم. کامیتهای آنها در تاریخچه باقی میماند؛ هیچ چیز پاک نمیشود.
- از مخزن استفاده شود، تغییرات سایت نادیده گرفته شوند — نسخه مخزن روی سایت اعمال میشود و تغییراتی که در اینجا ایجاد کرده بودید کنار گذاشته میشوند. این گزینه برگشتناپذیر است، به همین دلیل نیازمند یک کلیک عمدی است و هرگز کاری نیست که ما از طرف شما انجام دهیم.
هیچ گزینه "ادغام خودکار" وجود ندارد، و این هدفمند است. ادغامی که توسط ما انجام شود، فایلی را ایجاد میکند که هیچکدام از شما آن را ننوشتهاید، آن هم روی یک سایت زنده، بدون اینکه ابتدا هیچیک از شما آن را دیده باشد.
چرا ممکن است همگامسازی متوقف شود
- شما حساب GitHub اختصاصی خود را متصل نکردهاید. سوئیچ تا زمان انجام این کار خاموش میماند.
- منتظر شماست. موارد بالا را ببینید — وضعیت توقف خودبهخود رفع نمیشود.
- حساب شما وضعیت مالی مناسبی ندارد. همگامسازی متوقف میشود و به محض بهروزرسانی صورتحساب، خودبهخود از سر گرفته میشود. هیچ چیز از دست نمیرود.
برگه Deploy چند همگامسازی اخیر را نمایش میدهد، از جمله مواردی که در آنها هیچ تغییری ایجاد نشده بود. اگر آن فهرست خالی است و همگامسازی روشن است، به احتمال زیاد حساب متصلشده دسترسی نوشتن در مخزن را ندارد — دسترسی آن را بررسی کرده و دوباره متصل شوید.
انتخاب مواردی که همگام میشوند
بهطور پیشفرض کل سایت همگامسازی میشود. در یک سایت WordPress این معمولاً چیزی نیست که شما میخواهید: این به معنای تکتک فایلهای هسته WordPress است که شما ننوشتهاید و ویرایش نخواهید کرد. گزینه "فقط این پوشه همگامسازی شود" را روی پوسته خود تنظیم کنید — برای مثال wp-content/themes/my-theme — و باقی موارد بدون تغییر رها میشوند.