مواد پر جائیں

ورک اسپیس میں ریپوز شامل کریں

یہ گائیڈ دکھاتی ہے کہ کسی Git چیک آؤٹ کو ورک اسپیس میں کیسے رجسٹر کیا جائے، اسے دوبارہ انڈیکس کیسے کیا جائے اور اسے دوبارہ کیسے ہٹایا جائے۔

ریپوز ورک اسپیس تک محدود ہوتے ہیں۔ کوئی عالمی رجسٹری نہیں اور کوئی الگ لنکنگ قدم نہیں: ریپو شامل کرنا اور اسے ورک اسپیس میں رکھنا ایک ہی عمل ہے۔ ایک ہی چیک آؤٹ دو ورک اسپیسز میں رجسٹر ہونے پر دو مختلف ids کے ساتھ دو آزاد قطاریں بن جاتا ہے — ورک اسپیسز کے درمیان، ریپو کی شناخت اس کا فائل سسٹم پاتھ ہوتی ہے، کبھی اس کی id نہیں۔

کوئی فولڈر صرف اُس وقت رجسٹر ہو سکتا ہے جب یہ تینوں شرائط پوری ہوں:

  1. یہ کسی git ورک ٹری کے اندر ہو۔
  2. اُس ورک ٹری میں origin ریموٹ موجود ہو۔
  3. origin ریموٹ کسی معاون کوڈ ہوسٹ کی طرف اشارہ کرتا ہو: github.com، gitlab.com یا bitbucket.org۔

اس کے علاوہ کچھ بھی رجسٹریشن کے وقت ایک واضح پیغام کے ساتھ مسترد کر دیا جاتا ہے: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.”, یا “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”۔ کوئی صرف مقامی موڈ نہیں ہے۔

کوڈ ہوسٹ ریموٹ سے پڑھا جاتا ہے اور ریپو پر محفوظ کر دیا جاتا ہے — اسے کبھی آپ منتخب نہیں کرتے۔ ایک ورک اسپیس میں تینوں کے ریپوز بیک وقت رہ سکتے ہیں، اور ہر ایک سے اس کے اپنے API کے ذریعے اس کے اپنے کریڈینشل کے ساتھ بات کی جاتی ہے۔ GitLab کے نیسٹڈ نام اسپیسز محفوظ رہتے ہیں، چنانچہ gitlab.com/group/subgroup/project بطور مالک group/subgroup اور بطور نام project رجسٹر ہوتا ہے۔

یہ فولڈر لازماً اُس مشین پر بھی ہونا چاہیے جو cc_server ہوسٹ کرتی ہے، اور اُس سرور کی --repo-roots ڈائریکٹریز میں سے کسی ایک کے اندر۔ یہ اجازت فہرست بطور ڈیفالٹ سرور صارف کی ہوم ڈائریکٹری ہوتی ہے اور کسی روٹ سے اوپر براؤز کرنا مسترد کر دیا جاتا ہے۔

  1. ترتیبات → ورک اسپیس → ریپوزٹریز کھولیں (/workspaces/<id>/settings/workspace/repositories)۔
  2. ریپوزٹری شامل کریں پر کلک کریں۔

یہ ڈائیلاگ سرور کے فائل سسٹم پر ایک نیویگیٹ کرنے کے قابل براؤزر ہے، آپ کے فائل سسٹم پر نہیں۔ ڈیسک ٹاپ، ویب اور فون پر یہی بہاؤ ہے، کیونکہ کوئی مقامی فولڈر پکر غلط مشین کا فولڈر منتخب کر لے گا۔

  1. سرور کے ترتیب شدہ روٹس کے اندر نیویگیٹ کریں۔ وہ فولڈرز جو git چیک آؤٹ ہیں نشان زد ہوتے ہیں۔
  2. ان میں سے جتنے چاہیں ٹک کریں۔ انتخاب نیویگیٹ کرتے ہوئے بھی برقرار رہتا ہے، چنانچہ آپ کئی فولڈرز سے چیک آؤٹس جمع کر سکتے ہیں۔
  3. انہیں ایک ہی بیچ میں رجسٹر کریں۔

ایک ناکام انتخاب کبھی باقی بیچ کو نہیں گراتا — آپ کو بنائے گئے ids ملتے ہیں، ساتھ ہر مسترد شدہ پاتھ کے لیے الگ خرابی۔ اِس ورک اسپیس میں پہلے سے موجود کسی پاتھ کو دوبارہ رجسٹر کرنے پر نیا نقل بنانے کے بجائے موجودہ ریپو واپس آتا ہے۔

ہر رجسٹر شدہ ریپو فہرست میں اپنے owner/name، اپنے کوڈ ہوسٹ کا نام بتانے والے ایک بیج، اور سرور پر اپنے پاتھ کے ساتھ ظاہر ہوتا ہے۔ GitHub کے ریپوز مالک کا اوتار بھی دکھاتے ہیں؛ باقی کوڈ ہوسٹس کے پاس مالک کے اوتار کا کوئی اندازہ لگایا جا سکنے والا URL نہیں ہوتا، چنانچہ وہ ابتدائی حروف پر واپس چلے جاتے ہیں۔

مخلوط ورک اسپیس میں کوڈ ہوسٹ کا بیج اہمیت رکھتا ہے: دو ریپوز مختلف کوڈ ہوسٹس پر دونوں acme/web کہلا سکتے ہیں، اور وہ مختلف برتاؤ کرتے ہیں — کوئی ریویو کیا کر سکتا ہے، اور کوئی لنک کہاں جاتا ہے۔

رجسٹریشن اِس ورک اسپیس تک محدود ایک RepoAdded ایونٹ چلاتی ہے، جو اُس چیک آؤٹ کے لیے index_code پائپ لائن شروع کرتا ہے۔ یہی کوڈ گراف کو بھرتا ہے، تاکہ تلاش اور اثرات کے تجزیے کے پاس جواب دینے کو کچھ ہو۔

صرف وہی فائلیں انڈیکس ہوتی ہیں جن کی زبان کے لیے کوئی فراہم شدہ گرامر موجود ہو (Dart، JavaScript، TypeScript، TSX، PHP، Python، Rust، Zig، C، C++، Go، Java، Ruby، C#، Swift، Kotlin، R، Assembly، MATLAB اور Ada)۔ کوڈ گراف سے کوڈ تلاش کریں دیکھیں۔

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

قطار پر ہینڈل گھسیٹیں۔ آپ جو ترتیب مقرر کرتے ہیں، ایپ میں ہر ریپو فہرست اُسی ترتیب میں پڑھتی ہے۔

قطار پر لنک آئیکن ریپو کے GitHub مالک اور ریپوزٹری نام کے لیے ایک ایڈیٹر کھولتا ہے — جب ریموٹ کا نام بدل گیا ہو یا وہ منتقل ہو گیا ہو تو کارآمد۔

  1. ترتیبات → ورک اسپیس → ریپوزٹریز کھولیں۔
  2. قطار پر کوڑے دان کے آئیکن پر کلک کریں۔
  3. “ریپوزٹری ورک اسپیس سے ہٹائیں؟” کی تصدیق کریں۔

ڈائیلاگ بتاتا ہے کہ یہ کیا کرتا ہے: “name اِس ورک اسپیس سے ہٹ جائے گی۔ ڈسک پر موجود مقامی فائلیں نہیں چھوتیں۔”

ہٹانا اِس ورک اسپیس سے ریپو کی قطار حذف کرتا ہے اور اس کی کوڈ گراف قطاریں کاسکیڈ کر کے ہٹا دیتا ہے — سمبلز، ایجز، فائلیں اور انڈیکس چیک پوائنٹس — نیز اس پر ہر فی رکن ریپو گرانٹ، اس کے اسپیس-ریپو روابط اور اس کے الگ تھلگ چیک آؤٹ کے ریکارڈز۔ کسی دوسری ورک اسپیس میں رجسٹر شدہ یہی چیک آؤٹ ایک آزاد قطار ہے اور اس پر کوئی اثر نہیں پڑتا۔ ڈسک پر موجود وہ ورک ٹریز جن کی طرف وہ ریکارڈز اشارہ کرتے تھے، یہ حذف انہیں منہدم نہیں کرتا۔