নলেজ বেস
আপনার GitHub রিপোজিটরির সাথে দ্বিমুখী সিঙ্ক
আপনার সাইটে করা পরিবর্তনগুলি আপনার নিজস্ব রিপোজিটরিতে কমিটে রূপান্তরিত হয় এবং আপনি সেখানে যা পুশ করেন তা আপনার সাইটে প্রকাশ পায়। এটি বিনামূল্যে, এবং উভয় পক্ষ একসাথে পরিবর্তিত হলে যা ঘটে তা এখানে দেওয়া হলো।
আপনার নিজস্ব GitHub অ্যাকাউন্টটি কোনো সাইটের সাথে সংযুক্ত করুন এবং আমরা দুজনকে উভয় দিকেই সুসংগত রাখব। এটি সম্পূর্ণ বিনামূল্যে, আপনি চালু না করা পর্যন্ত এটি বন্ধ থাকে এবং আমরা কেবল আপনার মালিকানাধীন কোনো অ্যাকাউন্টের রিপোজিটরিতেই কমিট করি—কখনোই আমাদেরটিতে নয়।
যা সিঙ্ক হয়
আপনি আপনার সাইটের ফাইলে যেভাবে বা যেভাবেই পরিবর্তন করুন না কেন (ফাইল ম্যানেজার, SFTP, WordPress থিম এডিটর, বা SSH সেশনের মাধ্যমে), তা আপনার রিপোজিটরিতে একটি কমিটে পরিণত হয়। আপনাকে আমাদের আলাদা করে কিছু জানাতে হবে না—আমরা আপনার সাইটটিকে এর সর্বশেষ কমিটের সাথে তুলনা করে পার্থক্যগুলো পুশ করি।
অন্য দিকে, আপনার সংযুক্ত ব্র্যাঞ্চে কোনো পুশ করা হলে তা সাইটে চলে আসে।
আমরা যা কখনো কমিট করি না
আপনার wp-config.php ফাইলটি ইচ্ছাকৃতভাবে এবং স্থায়ীভাবে বাদ দেওয়া হয়। এতে আপনার ডাটাবেজের পাসওয়ার্ড এবং প্রমাণীকরণ সল্ট সংরক্ষিত থাকে, যা কোনো রিপোজিটরিতে থাকার উপযুক্ত নয়—একটি প্রাইভেট রিপোজিটরিতেও নয়, কারণ git চিরকাল ইতিহাস সংরক্ষণ করে।
এছাড়াও বাদ দেওয়া হয়: .env ফাইল, কি এবং সার্টিফিকেট, আপনার আপলোড ফোল্ডার, ক্যাশ এবং node_modules। একটি রিপোজিটরি হলো আপনার সাইটের সোর্স কোড, ব্যাকআপ নয়। মিডিয়া আপনার ব্যাকআপেই থাকে, যেখানে এটি ইতিমধ্যেই সংরক্ষিত আছে, এবং এখানে তা রাখলে প্রতিটি পুশ ধীরগতির হয়ে যাবে এবং প্রতিটি পরিবর্তন পড়া অসম্ভব হয়ে দাঁড়াবে।
উভয় দিকেই পরিবর্তন করা হলে যা ঘটে
এটি পড়ার মতো একটি প্রশ্ন। ধরুন আপনি ফাইল ম্যানেজারে কোনো ফাইল সম্পাদনা করলেন, এবং ইতিমধ্যে আপনার কোনো সহকর্মী একই রিপোজিটরিতে একটি পরিবর্তন পুশ করলেন।
আমরা থেমে যাই। আমরা কোনো মার্জ করি না এবং কাউকে ওভাররাইটও করি না। সাইটের ডিপ্লয় ট্যাবে "Your repository has changes we haven't seen" লেখাটি দেখায়, যে কমিটটি আপনার দেখা দরকার তার নাম উল্লেখ করে এবং আপনার জন্য অপেক্ষা করে। অপেক্ষা করার সময় কোনো পক্ষ থেকেই কিছু হারিয়ে যায় না—আপনার সম্পাদনা এখনো সাইটেই থাকে, তাদের কমিটও এখনো রিপোজিটরিতেই থাকে।
এরপর আপনি পছন্দ করুন:
- Keep this site's files — আমরা তাদের সংস্করণের ওপর আপনার সংস্করণটি বসিয়ে দিই। তাদের কমিটগুলো ইতিহাসে থেকে যায়; কিছুই মুছে ফেলা হয় না।
- Use the repository, discard site changes — রিপোজিটরির সংস্করণটি সাইটে প্রয়োগ করা হয় এবং আপনি এখানে যে পরিবর্তনগুলো করেছিলেন তা বাতিল করা হয়। এটি একটি ধ্বংসাত্মক প্রক্রিয়া, যে কারণে এটি ইচ্ছাকৃতভাবে ক্লিক করতে হয় এবং এটি কখনোই আমরা আপনার পক্ষ থেকে নিজে থেকে করি না।
উদ্দেশ্যপ্রণোদিতভাবেই এখানে কোনো "স্বয়ংক্রিয়ভাবে মার্জ করুন" বিকল্প নেই। আমাদের দ্বারা সম্পাদিত কোনো মার্জ লাইভ সাইটে এমন একটি ফাইল তৈরি করতে পারে যা আপনাদের কেউ লেখেননি, অথচ আপনাদের কেউই তা প্রথমে দেখেননি।
কেন সিঙ্ক্রোনাইজেশন বন্ধ হয়ে যেতে পারে
- আপনি নিজের GitHub অ্যাকাউন্ট সংযুক্ত করেননি। আপনি তা না করা পর্যন্ত সুইচটি বন্ধ থাকে।
- এটি আপনার জন্য অপেক্ষা করছে। ওপরে দেখুন—হোল্ড নিজে থেকে ঠিক হয় না।
- আপনার অ্যাকাউন্ট সঠিক অবস্থায় নেই। বিলিং আপডেট হওয়ার সাথে সাথে সিঙ্ক্রোনাইজেশন নিজে থেকেই বিরতি ভেঙে পুনরায় শুরু হয়। কোনো ডেটা হারায় না।
ডিপ্লয় ট্যাবে সর্বশেষ কয়েকটি সিঙ্কের তথ্য দেখায়, এমনকি যেসব ক্ষেত্রে কোনো পরিবর্তন হয়নি সেগুলোও। যদি সেই তালিকাটি ফাঁকা থাকে এবং সিঙ্ক চালু করা থাকে, তবে সম্ভবত সংযুক্ত অ্যাকাউন্টটি রিপোজিটরিতে লিখতে পারছে না—এর অ্যাক্সেস চেক করুন এবং পুনরায় সংযোগ স্থাপন করুন।
কোনগুলো সিঙ্ক হবে তা নির্বাচন করা
ডিফল্টভাবে পুরো সাইটটি সিঙ্ক হয়। একটি WordPress সাইটে সাধারণত এটি আপনার কাম্য নয়: এর অর্থ হলো WordPress কোরের প্রতিটি ফাইল, যা আপনি লেখেননি এবং সম্পাদনাও করবেন না। "Sync only this folder"-কে আপনার থিমে সেট করুন—উদাহরণস্বরূপ wp-content/themes/my-theme—এবং বাকিগুলো অক্ষত রাখুন।
এখনও আটকে আছেন?
প্রতিটি প্ল্যানেই সহায়তা অন্তর্ভুক্ত রয়েছে এবং আপনার নিজের ভাষাতেই উত্তর দেওয়া হয়।
সহায়তার জন্য যোগাযোগ করুন → সব নিবন্ধ →