علمی اساس
GitHub کے ساتھ آپ کی ٹو وے سنک
آپ اپنی سائٹ میں جو تبدیلیاں کرتے ہیں وہ آپ کی اپنی ریپوزٹری میں کمٹس میں تبدیل ہو جاتی ہیں، اور جو کچھ آپ وہاں پش کرتے ہیں وہ آپ کی سائٹ پر آ جاتا ہے۔ یہ مفت ہے، اور جب دونوں طرف سے ایک ساتھ تبدیلیاں کی جائیں تو یہ ہوتا ہے۔
اپنا GitHub اکاؤنٹ ایک سائٹ سے منسلک کریں اور ہم دونوں سمتوں میں دونوں کو ہم آہنگ رکھیں گے۔ یہ مفت ہے، یہ اس وقت تک بند رہتا ہے جب تک آپ اسے آن نہ کریں، اور ہم صرف آپ کے اپنے اکاؤنٹ کے کسی ریپوزیٹری میں کمٹ (commit) کرتے ہیں — ہمارے اپنے کسی اکاؤنٹ میں کبھی نہیں۔
کیا کچھ سنک (sync) ہوتا ہے
آپ اپنی سائٹ کی فائلوں میں جو بھی تبدیلی کرتے ہیں وہ آپ کی ریپوزیٹری میں ایک کمٹ بن جاتی ہے، خواہ آپ نے اسے کیسے ہی تبدیل کیا ہو: فائل مینیجر، SFTP، WordPress تھیم ایڈیٹر، یا SSH سیشن کے ذریعے۔ آپ کو ہمیں بتانے کی ضرورت نہیں ہے — ہم آپ کی سائٹ کا اس کے آخری کمٹ سے موازنہ کرتے ہیں اور فرق کو پش (push) کر دیتے ہیں۔
دوسری طرف، آپ کی منسلک شاخ (branch) پر کیا گیا پش سائٹ پر منتقل ہو جاتا ہے۔
ہم کبھی کیا کمٹ نہیں کرتے
آپ کی wp-config.php فائل کو قصداً اور مستقل طور پر خارج کر دیا گیا ہے۔ اس میں آپ کا ڈیٹا بیس پاس ورڈ اور آپ کے تصدیقی سالٹس (authentication salts) ہوتے ہیں، اور وہ کسی ریپوزیٹری سے تعلق نہیں رکھتے — نجی ریپوزیٹری سے بھی نہیں، کیونکہ git تاریخ (history) کو ہمیشہ کے لیے محفوظ رکھتا ہے۔
مزید برآں خارج کردہ: .env فائلیں، کیز (keys) اور سرٹیفکیٹس، آپ کا اپ لوڈز فولڈر، کیشز (caches) اور node_modules۔ ایک ریپوزیٹری آپ کی سائٹ کا سورس ہے، بیک اپ نہیں۔ میڈیا آپ کے بیک اپس سے تعلق رکھتا ہے، جہاں اسے پہلے ہی محفوظ رکھا جاتا ہے، اور اسے یہاں رکھنے سے ہر پش سست اور ہر تبدیلی ناقابلِ پڑھائی ہو جائے گی۔
اگر دونوں اطراف میں تبدیلی ہو جائے تو کیا ہوتا ہے
یہ وہ سوال ہے جو پڑھنے کے لائق ہے۔ فرض کریں کہ آپ فائل مینیجر میں کسی فائل میں ترمیم کرتے ہیں، اور اس دوران کوئی ساتھی اسی ریپوزیٹری میں کسی تبدیلی کو پش کر دیتا ہے۔
ہم رک جاتے ہیں۔ ہم مرج (merge) نہیں کرتے، اور ہم کسی کے کام کو اوور رائٹ نہیں کرتے۔ سائٹ کا Deploy ٹیب "آپ کی ریپوزیٹری میں ایسی تبدیلیاں ہیں جو ہم نے نہیں دیکھی ہیں" دکھاتا ہے، اس کمٹ کا نام بتاتا ہے جسے آپ کو دیکھنے کی ضرورت ہے، اور آپ کا انتظار کرتا ہے۔ انتظار کے دوران کسی بھی طرف کچھ ضائع نہیں ہوتا — آپ کی ترمیم اب بھی سائٹ پر موجود ہے، ان کا کمٹ اب بھی ریپوزیٹری میں ہے۔
اس کے بعد آپ انتخاب کرتے ہیں:
- اس سائٹ کی فائلیں رکھیں — ہم آپ کا ورژن ان کے ورژن کے اوپر رکھ دیتے ہیں۔ ان کے کمٹس تاریخ میں رہتے ہیں؛ کچھ بھی مٹایا نہیں جاتا۔
- ریپوزیٹری کا استعمال کریں، سائٹ کی تبدیلیاں مسترد کریں — ریپوزیٹری کا ورژن سائٹ پر لاگو ہوتا ہے، اور آپ نے یہاں جو تبدیلیاں کی تھیں انہیں مسترد کر دیا جاتا ہے۔ یہ عمل تخریبی (destructive) ہے، اسی لیے یہ ایک عمدی کلک ہے اور ایسا کچھ نہیں جو ہم کبھی آپ کی طرف سے خود کریں۔
یہاں قصداً "خودکار طور پر مرج کریں" کا کوئی آپشن نہیں ہے۔ ہماری طرف سے کیا گیا مرج ایک لائیو سائٹ پر ایسی فائل تیار کرے گا جو آپ دونوں میں سے کسی نے نہیں لکھی ہوگی، اور آپ دونوں میں سے کسی نے اسے پہلے دیکھا بھی نہیں ہوگا۔
سنکنگ کیوں رک سکتی ہے
- آپ نے اپنا GitHub اکاؤنٹ منسلک نہیں کیا ہے۔ سوئچ اس وقت تک بند رہتا ہے جب تک آپ ایسا نہ کریں۔
- یہ آپ کا انتظار کر رہا ہے۔ اوپر ملاحظہ کریں — ہولڈ خود بخود ختم نہیں ہوتا۔
- آپ کا اکاؤنٹ درست حالت میں نہیں ہے۔ بلنگ اپ ٹو ڈیٹ ہوتے ہی سنکنگ خود بخود معطل اور دوبارہ شروع ہو جاتی ہے۔ کچھ بھی ضائع نہیں ہوتا۔
Deploy ٹیب پچھلے کچھ سنکس دکھاتا ہے، بشمول وہ جہاں کچھ بھی نہیں بدلا تھا۔ اگر وہ فہرست خالی ہے اور سنک آن ہے، تو غالب امکان ہے کہ منسلک اکاؤنٹ ریپوزیٹری میں رائٹ (write) نہیں کر سکتا — اس کی رسائی چیک کریں اور دوبارہ منسلک کریں۔
اس بات کا انتخاب کرنا کہ کیا سنک ہوتا ہے
ڈیفالٹ کے طور پر پوری سائٹ سنک ہوتی ہے۔ کسی WordPress سائٹ پر معمول کے مطابق یہ وہ نہیں ہے جو آپ چاہتے ہیں: اس کا مطلب WordPress کور کی ہر وہ فائل ہے جو آپ نے نہیں لکھی اور آپ اس میں ترمیم نہیں کریں گے۔ "صرف اس فولڈر کو سنک کریں" کو اپنے تھیم پر سیٹ کریں — مثال کے طور پر wp-content/themes/my-theme — اور باقی کو ویسے ہی چھوڑ دیا جاتا ہے۔
کیا اب بھی پھنسے ہوئے ہیں؟
ہر پلان میں سپورٹ شامل ہے اور آپ کی اپنی زبان میں جوابات ملتے ہیں۔
سپورٹ سے رابطہ کریں → تمام مضامین →