درست کریں: گٹائنور کام نہیں کررہا ہے



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

گٹ ہب کوڈ کوآپریشن اور ذخیرہ اندوزی کے اشتراک کے شعبے میں ایک نمایاں راہنما بن کر سامنے آیا ہے۔ گٹ ہب بنیادی طور پر ایک ورژن کنٹرول سافٹ ویئر ہے جو صارفین کو تقسیم شدہ ورژن کنٹرول اور ایس سی ایم (سورس کوڈ مینجمنٹ) کے کنٹرول کی اجازت دیتا ہے۔ اس پلیٹ فارم کو پوری دنیا میں بڑے کاروباری اداروں اور کمپنیاں استعمال کرتی ہیں۔



.gitignore



ان جیسے پلیٹ فارم میں اپنی فنی صلاحیتیں اور مسائل ہیں۔ ایک خاص مسئلہ جس کا کوڈرز نے تجربہ کیا وہ یہ تھا کہ .gitignore گٹ ہب میں کام نہیں کررہا تھا۔ پلیٹ فارم نے یا تو .gitignore کو نظرانداز کیا یا جزوی طور پر کام کیا۔ یہ دیکھنا دلچسپ ہے کہ مسئلہ ہر معاملے میں تھوڑا سا مختلف ہوسکتا ہے کیونکہ ہر معاملہ بالکل مختلف منظر ہے۔ تاہم ، ہم جن حلوں کی فہرست دیتے ہیں ان میں اصلاحات شامل ہوں گی جو عالمی سطح پر کام کریں گی۔



.gitignore کیا ہے؟

گٹ (یا گٹ ہب) آپ کی ورکنگ ڈائرکٹری میں موجود ہر فائل کو دیکھتا ہے۔ یہ ہر ایک فائل کو تینوں میں سے ایک کی حیثیت سے خصوصیات دیتا ہے:

  • ٹریک کردہ: یہ فائلیں یا تو کمٹڈ ہیں یا تاریخ میں پہلے اسٹیج کی گئیں ہیں۔
  • بغیر دستبردار: یہ وہ فائلیں ہیں جو پہلے مرتب کی گئیں یا مرتب نہیں کی گئیں۔
  • نظر انداز: یہ وہ فائلیں ہیں جنہیں صارف نے خود گٹ کو مکمل طور پر نظر انداز کرنے سے کہا تھا۔

یہ نظرانداز شدہ فائلیں منظر نامے سے مختلف ہوسکتی ہیں اور زیادہ تر مشین سے تیار فائلیں یا نمونے بناتی ہیں۔ یہ عام رواج ہے۔ آپ اپنی ضرورت کے مطابق مختلف دیگر فائلوں کو نظرانداز کر رہے ہو سکتے ہیں۔ ان فائلوں کی کچھ مثالیں یہ ہیں:

  • مرتب کوڈ: یہ فائلیں عام طور پر توسیع کے ساتھ .class ، .pyc ، .ccp وغیرہ کے ساتھ ہوتی ہیں۔
  • پوشیدہ نظام فائلیں: یہ وہ فائلیں ہیں جو سسٹم کے ذریعہ اس کی کاروائیوں کے لئے استعمال ہوتی ہیں لیکن سادہ نظارے سے پوشیدہ ہوتی ہیں ، مثال کے طور پر ، DS_Store یا Thumbs.db ، وغیرہ۔
  • آؤٹ پٹ ڈائریکٹریز بنائیں: یہ زیادہ تر / بن ، / آؤٹ وغیرہ کی ڈائریکٹریاں ہیں۔
  • انحصار کیش: یہ فائلیں / نوڈ یا / پیکجز ماڈیولز کے مندرجات ہوسکتی ہیں۔
  • IDE ترتیب فائلیں: یہ کنفگ فائلیں ہیں جو زیادہ تر آپ کے IDE سافٹ ویئر کے ذریعہ تخلیق یا انتظام کی جاتی ہیں۔
  • رن ٹائم کے وقت تیار کردہ فائلیں: کچھ پروگرام ایسے ہیں جو رن ٹائم پر فائلیں بناتے ہیں۔ اگر یا تو اس طرح کا کوڈ چلایا جاتا ہے تو ، آپ کے ورکنگ فولڈر میں رن فائل کے وقت کچھ فائلیں تیار کی جاسکتی ہیں اور آپ انہیں گٹ میں نظرانداز کرسکتے ہیں۔

آپ جس بھی فائل کو نظر انداز کرنا چاہتے ہیں اس کو .gitignore کے نام سے ایک خصوصی فائل میں ٹریک کیا جاتا ہے جس میں زیادہ تر آپ کے ورکنگ ریپوزٹری کی جڑ میں جانچ پڑتال کی جاتی ہے۔ اس موضوع پر گٹ ہب کی سرکاری دستاویزات کے مطابق ، گٹائنور کا کوئی خاص حکم نہیں ہے۔ اس کے بجائے ، آپ کو دستی طور پر اس فائل میں ترمیم کرنا ہوگی جسے آپ نظرانداز کرنا چاہتے ہیں۔ .gitignore فائل میں ایسے نمونوں پر مشتمل ہے جو آپ کے ورکنگ اسٹور میں فائل کے ناموں سے ملتے ہیں اور ان کا استعمال اس بات کا تعین کرنے میں کیا جاتا ہے کہ کسی مخصوص فائل کو نظرانداز کیا جانا چاہئے یا نہیں۔



.gitignore کام نہیں کرنے کی کیا وجہ ہے؟

شاید .gitignore خصوصیت بالکل کام کر رہی ہے لیکن ہوسکتا ہے کہ آپ نے اسے ٹھیک سے تشکیل نہیں دیا ہو۔ ہمارے تمام سروے میں ، ہم اس نتیجے پر پہنچے کہ واقعی ماڈیول کام کررہا ہے۔ کوڈر خصوصیت کو استعمال کرنے سے قاصر ہونے کی وجہ زیادہ تر اس وجہ سے ہیں کہ انہوں نے فائل کو صحیح طریقے سے تشکیل نہیں دیا ہے یا کچھ شرائط ہیں جن کو بنیادی کوڈ میں پورا نہیں کیا جاسکتا ہے۔

یہ کچھ حل ہیں جو آپ کے ل work کام کرسکتے ہیں۔ ہر حل آپ کے معاملے میں لاگو نہیں ہوسکتا ہے لہذا اس بات کو یقینی بنائیں کہ اگر ابتدائی شرائط پوری نہیں کی جارہی ہیں تو آپ اگلے ایک کی طرف رجوع کریں۔

حل 1: .gitignore فائل کی جانچ ہو رہی ہے

ایک دلچسپ واقعہ سامنے آیا جہاں ہم نے دیکھا کہ .gitignore فائل غلط شکل میں تشکیل دی گئی تھی۔ یہ خاص مسئلہ اس وقت ہوا جب صارفین نے ونڈوز OS میں نوٹ پیڈ کی ڈیفالٹ ایپلی کیشن کا استعمال کرکے فائل بنائی۔ پتہ چلا کہ نوٹ پیڈ فائل کو اے این ایس آئی کی شکل کے بجائے یونیکوڈ میں لکھتا ہے۔ اس حل میں ، ہم .gitignore کی درست شکل میں نوٹ پیڈ کی تبدیلیوں کو محفوظ کریں گے اور دیکھیں گے کہ آیا اس سے مسئلہ ٹھیک ہوجاتا ہے۔

نوٹ: جب آپ نوٹ پیڈ کا استعمال کرتے ہوئے ایک نئی فائل بناتے ہیں تو آپ کو فائل سے .txt کی توسیع کو ہٹانا ہوگا۔

  1. نوٹ پیڈ میں کوڈ لکھنے یا کسی نئی ٹیکسٹ دستاویز میں تبدیلی کے بعد ، پر کلک کریں فائل اور منتخب کریں ایسے محفوظ کریں .

بطور محفوظ کریں - نوٹ پیڈ

  1. اب سامنے انکوڈنگ ، منتخب کریں اے این ایس آئی . اب .txt کی فائل ایکسٹینشن کو ہٹائیں اور نام کے ساتھ فائل کو محفوظ کریں۔ .gitignore ’’۔ صحیح ڈائریکٹری منتخب کریں اور محفوظ کریں۔

انکوڈنگ کی قسم کے طور پر اے این ایس آئی کو منتخب کرنا

  1. اب ڈائریکٹری پر جائیں اور چیک کریں کہ آیا صحیح فائل بنائی گئی ہے۔ اب اسے دوبارہ گٹ کے ساتھ آزمائیں اور دیکھیں کہ کیا نظرانداز کریں خصوصیت توقع کے مطابق کام کر رہی ہے۔

ڈویلپرز کو ونڈوز میں ڈیفالٹ نوٹ پیڈ کے استعمال سے پرہیز کرنا چاہئے۔ اس کے بجائے ، آپ کو مناسب ‘پروگرامرز’ نوٹ پیڈ استعمال کرنا چاہئے۔ کچھ مثالوں میں شامل ہیں نوٹ پیڈ ++ ان میں ، آپ کو اس طرح کے معاملات نہیں ہوں گے۔

نوٹ: اگر آپ کی فائل پہلے ہی یونیکوڈ فارمیٹ میں محفوظ ہوچکی ہے تو ، آپ کو اے این ایس آئی فارمیٹ میں موجود مواد کو صحیح طریقے سے محفوظ کرنا چاہئے اگر آپ چاہتے ہیں کہ آپ کی فائل کو گٹ کے ذریعہ صحیح طریقے سے پتہ چل جائے۔

حل 2: جس فائل کی آپ نظرانداز کرنے کی کوشش کر رہے ہیں اس کی جانچ ہو رہی ہے

ایک اور شرط جس پر .gitignore کام کرتا ہے وہ ہے کہ آپ کی فائل نہیں ہونی چاہئے ذخیرہ کا ابھی تک حصہ . یہ ایک انتہائی ضروری پہلو ہے گویا یہ سچ ہے ، فائل جیسا ہے نظرانداز نہیں کیا جائے گا پہلے ہی شامل ذخیرہ کرنے کے لئے. گٹ اس کو نظرانداز نہیں کرسکتا ہے یہاں تک کہ اگر آپ نے اس کا نام یا .gitignore فائل میں راج کیا ہے۔ لہذا جوہر میں ، گٹ صرف نظر انداز کرتا ہے بغیر نشان زدہ فائلیں .

آپ کو اپنے ڈھانچے (ذخیرے) کو دیکھنا چاہئے اور اس بات کو یقینی بنانا چاہئے کہ آپ جس فائل کو نظرانداز کرنے کی کوشش کر رہے ہیں وہ مخزن میں شامل نہیں ہے۔ اگر یہ ہے تو ، آپ کو فائل کو ذخیرے سے ہٹانا پڑے گا اور تازہ ترین تبدیلیاں کرنے کے بعد ، اس کا نام .gitignore میں شامل کریں (آپ فائل کے مندرجات کو بھی کاپی کرسکتے ہیں اور اسے حذف کرنے کے بعد ، اسے ایک مختلف نام سے نقل کریں) .

حل 3: ذخیروں میں فائلوں کو دوبارہ شامل کرنا

اگر آپ نے پہلے ہی .gitignore میں قواعد شامل کردیئے ہیں لیکن جن فائلوں کو آپ نظر انداز کرنا چاہتے ہیں وہ پہلے ہی شامل ہوچکی ہیں ، ہم فائلوں کو دوبارہ شامل کرسکتے ہیں۔ شامل کرنے کا مطلب یہ ہے کہ ہم گٹ کی فہرست سے ہر چیز کو نکال دیں گے اور پھر ہر چیز کو دوبارہ اپنے ذخیرے میں شامل کریں گے۔ جب ہم شروع سے فائلوں کو دوبارہ شامل کریں گے تو ، قوانین کو دھیان میں رکھا جائے گا جسے آپ نے .gitignore میں شامل کیا ہے اور صرف صحیح فائلیں شامل کی گئیں۔

نوٹ: اس حل کو انجام دینے سے پہلے آپ کو کسی اور جگہ اپنے کوڈ کا بیک اپ بنانا چاہئے۔ صرف معاملے میں بیک اپ رکھنا ہمیشہ اچھا ہے۔

  1. درج ذیل کمانڈ پر عمل کریں۔ اس سے تکرار اور آپ کی فائلوں کے راستے گٹ انڈکس سے تکرار انداز میں ہٹ جائیں گے۔
git rm -r --cched.
  1. اس پر عمل درآمد کے بعد ، آپ کو مندرجہ ذیل کمانڈ پر عملدرآمد کرنا چاہئے۔ اس سے آپ کی سبھی فائلیں واپس مل جائیں گی اور چونکہ .gitignore کے قواعد ہوں گے ، صرف صحیح فائلوں کو اپ ڈیٹ کیا جائے گا۔
گٹ ایڈ
  1. اب ہم ذیل میں موجود کوڈ کا استعمال کرکے آپ کی تمام فائلوں کو انڈیکس میں واپس بھیج دیں گے۔
git comm -m '.gitignore اب کام کر رہا ہے'

اب اپنی فائلوں کا معائنہ کریں اور دیکھیں کہ آیا معاملہ حل ہو گیا ہے اور آپ کسی مسئلے کے بغیر .gitignore دوبارہ استعمال کرسکتے ہیں۔

4 منٹ پڑھا