diff --git a/1-getting-started-lessons/2-github-basics/translations/README.ur.md b/1-getting-started-lessons/2-github-basics/translations/README.ur.md new file mode 100644 index 00000000..c1852be1 --- /dev/null +++ b/1-getting-started-lessons/2-github-basics/translations/README.ur.md @@ -0,0 +1,325 @@ +# GitHub کا تعارف + +اس سبق میں GitHub کی بنیادی باتوں کا احاطہ کیا گیا ہے، جو آپ کے کوڈ میں تبدیلیوں کی میزبانی اور انتظام کرنے کا ایک پلیٹ فارم ہے۔ + +![گٹ ہب کا تعارف](../../sketchnotes/webdev101-github.png) +>اسکیچنوٹ بذریعہ[Tomomi Imura] (https://twitter.com/girlie_mac) + +## پری لیکچر کوئز +[پری لیکچر کوئز] (https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/3) + +## تعارف + +اس سبق میں، ہم احاطہ کریں گے: + +- آپ اپنی مشین پر جو کام کرتے ہیں اس کا سراغ لگانا +- دوسروں کے ساتھ منصوبوں پر کام کرنا +- اوپن سورس سافٹ ویئر میں شراکت کیسے کریں۔ + +### شرائط + +شروع کرنے سے پہلے، آپ کو یہ چیک کرنے کی ضرورت ہوگی کہ آیا Git انسٹال ہے۔ ٹرمینل کی قسم میں +`git --version` + + اگر Git انسٹال نہیں ہے،[download Git](https://git-scm.com/downloads).پھر، ٹرمینل میں اپنا مقامی Git پروفائل سیٹ اپ کریں: +* `git config --global user.name "your-name"` +* `git config --global user.email "your-email"` + +یہ چیک کرنے کے لیے کہ آیا Git پہلے سے تشکیل شدہ ہے آپ ٹائپ کر سکتے ہیں: +`git config --list` + +آپ کو ایک GitHub اکاؤنٹ، ایک کوڈ ایڈیٹر (جیسے بصری اسٹوڈیو کوڈ) کی بھی ضرورت ہوگی، اور آپ کو اپنا ٹرمینل (یا: کمانڈ پرامپٹ) کھولنے کی ضرورت ہوگی۔ + + پر نیویگیٹ کریں۔[github.com](https://github.com/) اور ایک اکاؤنٹ بنائیں اگر آپ کے پاس پہلے سے نہیں ہے، یا لاگ ان کریں اور اپنا پروفائل پُر کریں۔ + +✅ GitHub دنیا کا واحد کوڈ ذخیرہ نہیں ہے۔ اور بھی ہیں، لیکن GitHub سب سے زیادہ جانا جاتا ہے۔ + +### تیاری + +آپ کو اپنی مقامی مشین (لیپ ٹاپ یا پی سی) پر ایک کوڈ پروجیکٹ کے ساتھ ایک فولڈر اور GitHub پر ایک عوامی ذخیرہ دونوں کی ضرورت ہوگی، جو دوسروں کے پروجیکٹس میں حصہ ڈالنے کے طریقے کے لیے ایک مثال کے طور پر کام کرے گا۔ + +--- + +## کوڈ کا انتظام + +ہم کہتے ہیں کہ آپ کے پاس مقامی طور پر ایک فولڈر ہے جس میں کچھ کوڈ پروجیکٹ ہے اور آپ گٹ - ورژن کنٹرول سسٹم کا استعمال کرکے اپنی پیشرفت کو ٹریک کرنا شروع کرنا چاہتے ہیں۔ کچھ لوگ گٹ کا استعمال آپ کے مستقبل کے لیے محبت کا خط لکھنے سے کرتے ہیں۔ دنوں یا ہفتوں یا مہینوں بعد اپنے کمٹ میسجز کو پڑھ کر آپ یاد کر سکیں گے کہ آپ نے فیصلہ کیوں کیا، یا تبدیلی کو "رول بیک" کیا - یعنی جب آپ اچھے "کمٹ میسیجز" لکھتے ہیں۔ + +### ٹاسک: ایک ذخیرہ بنائیں اور کوڈ کمٹ کریں۔ + +> ویڈیو دیکھیں + +> [![گٹ اور گٹ ہب کی بنیادی ویڈیو](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4) + +1. **Create repository on GitHub**.GitHub.com پر، ریپوزٹری ٹیب میں، یا نیویگیشن بار سے اوپر دائیں طرف، تلاش کریں **new repo** بٹن + + 1. اپنے ذخیرہ (فولڈر) کو ایک نام دیں۔ + 1منتخب کریں۔ **create repository**. + + + 1. **Navigate to your working folder**. اپنے ٹرمینل میں، اس فولڈر پر جائیں (جسے ڈائرکٹری بھی کہا جاتا ہے) آپ ٹریکنگ شروع کرنا چاہتے ہیں۔ قسم: + + ```bash + cd [name of your folder] + ``` + +1. **Initialize a git repository**. آپ کے پروجیکٹ کی قسم میں: + ```bash + git init + ``` + +1. **Check status**.اپنے ذخیرہ کی قسم کی حیثیت کو چیک کرنے کے لیے: + + ```bash + git status + ``` + + آؤٹ پٹ کچھ اس طرح نظر آ سکتا ہے: + + ```output + Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git checkout -- ..." to discard changes in working directory) + + modified: file.txt + modified: file2.txt + ``` + + عام طور پرa `git status` کمانڈ آپ کو ایسی چیزیں بتاتی ہے جیسے کہ کون سی فائلیں ریپو میں _محفوظ_ ہونے کے لیے تیار ہیں یا اس میں ایسی تبدیلیاں ہیں جنہیں آپ برقرار رکھنا چاہتے ہیں۔ + +1. **ٹریکنگ کے لیے تمام فائلیں شامل کریں** +اسے سٹیجنگ فائلز / سٹیجنگ ایریا میں فائلیں شامل کرنا بھی کہا جاتا ہے۔ + + ```bash + git add . + ``` + + The `git add` plus `.` دلیل سے پتہ چلتا ہے کہ آپ کی تمام فائلیں اور ٹریکنگ کے لیے تبدیلیاں۔ + +1. 1. **Add selected files for tracking** + + ```bash + git add [file or folder name] + ``` +اس سے ہمیں صرف منتخب فائلوں کو اسٹیجنگ ایریا میں شامل کرنے میں مدد ملتی ہے جب ہم ایک ساتھ تمام فائلوں کا ارتکاب نہیں کرنا چاہتے ہیں۔ + +1. **تمام فائلوں کو ہٹا دیں** + + ```bash + git reset + ``` +یہ کمانڈ ہمیں تمام فائلوں کو ایک ساتھ ختم کرنے میں مدد کرتی ہے۔ + +1. **ایک مخصوص فائل کو ہٹا دیں** + + ```bash + git reset [file or folder name] + ``` + + This command helps us to unstage only a particular file at once that we don't want to include for the next commit. + +**اپنا کام جاری رکھنا**۔ اس مقام پر آپ نے فائلوں کو نام نہاد _اسٹیجنگ ایریا_ میں شامل کیا ہے۔ وہ جگہ جہاں Git آپ کی فائلوں کو ٹریک کر رہا ہے۔ تبدیلی کو مستقل کرنے کے لیے آپ کو فائلوں کو _commit_ کرنے کی ضرورت ہے۔ ایسا کرنے کے لیے آپ `git commit` کمانڈ کے ساتھ ایک _commit_ بنائیں۔ ایک _commit_ آپ کے ریپو کی تاریخ میں بچت کے نقطہ کی نمائندگی کرتا ہے۔ _commit_ بنانے کے لیے درج ذیل کو ٹائپ کریں: + + ```bash + git commit -m "first commit" + ``` +اس کا cTommits آپ کی تمام فائلوں کو "پہلی کمٹ" کا پیغام شامل کرتا ہے۔ مستقبل کے کمٹ میسیجز کے لیے آپ اپنی تفصیل میں مزید وضاحتی ہونا چاہیں گے تاکہ یہ بتا سکیں کہ آپ نے کس قسم کی تبدیلی کی ہے۔ + +1. **اپنے مقامی گٹ ریپو کو GitHub** کے ساتھ مربوط کریں۔ آپ کی مشین پر ایک گٹ ریپو اچھا ہے لیکن کسی وقت آپ اپنی فائلوں کا کہیں بیک اپ لینا چاہتے ہیں اور دوسرے لوگوں کو بھی اپنے ریپو پر آپ کے ساتھ کام کرنے کی دعوت دیتے ہیں۔ ایسا کرنے کے لیے ایسی ہی ایک بہترین جگہ GitHub ہے۔ یاد رکھیں کہ ہم نے پہلے ہی GitHub پر ایک ریپو بنا لیا ہے لہذا ہمیں صرف ایک چیز کی ضرورت ہے کہ ہم اپنے مقامی Git repo کو GitHub کے ساتھ جوڑیں۔ کمانڈ 'گٹ ریموٹ ایڈ' ایسا ہی کرے گی۔ درج ذیل کمانڈ کو ٹائپ کریں: + + > نوٹ، کمانڈ ٹائپ کرنے سے پہلے اپنے GitHub ریپو پیج پر جائیں تاکہ ریپوزٹری URL تلاش کریں۔ آپ اسے نیچے دی گئی کمانڈ میں استعمال کریں گے۔ بدل دیں۔ + ```https://github.com/username/repository_name.git``` اپنے GitHub URL کے ساتھ۔ + + ```bash + git remote add origin https://github.com/username/repository_name.git + ``` + + یہ تخلیق کرتا ہے a _remote_, or connection, named "origin" GitHub ذخیرہ کی طرف اشارہ کرنا جو آپ نے پہلے بنایا تھا۔ + + 1. **مقامی فائلیں GitHub پر بھیجیں**۔ اب تک آپ نے مقامی ریپو اور GitHub ریپو کے درمیان ایک _connection_ بنایا ہے۔ آئیے درج ذیل کمانڈ کے ساتھ ان فائلوں کو GitHub پر بھیجیں۔ `git push`, + + > نوٹ، آپ کی برانچ کا نام بذریعہ ڈیفالٹ مختلف ہو سکتا ہے۔```main```. + + ```bash + git push -u origin main + ``` + + یہ آپ کی کمٹ کو آپ کے میں بھیجتا ہے۔ "main" branch to GitHub. + +2. **مزید تبدیلیاں شامل کرنے کے لیے**۔ اگر آپ تبدیلیاں کرنا اور انہیں GitHub میں دھکیلنا جاری رکھنا چاہتے ہیں تو آپ کو صرف درج ذیل تین کمانڈز استعمال کرنے کی ضرورت ہوگی۔ + + + ```bash + git add . + git commit -m "type your commit message here" + git push + ``` + + > > مشورہ، آپ کو بھی اپنانا چاہیں گے۔ `.gitignore` ان فائلوں کو روکنے کے لیے جنہیں آپ GitHub پر ظاہر ہونے سے ٹریک نہیں کرنا چاہتے ہیں - جیسے کہ نوٹ فائل آپ اسی فولڈر میں اسٹور کرتے ہیں لیکن عوامی ذخیرہ میں کوئی جگہ نہیں ہے۔ آپ کے لیے ٹیمپلیٹس تلاش کر سکتے ہیں۔`.gitignore` files at [.gitignore templates](https://github.com/github/gitignore). + +#### پیغامات بھیجیں۔ + +ایک زبردست گٹ کمٹ سبجیکٹ لائن مندرجہ ذیل جملے کو مکمل کرتی ہے۔ +If applied, this commit will + +موضوع کے لیے ضروری، موجودہ زمانہ استعمال کریں: "تبدیل" نہیں "تبدیل" اور نہ ہی "تبدیلی"۔ +جیسا کہ مضمون میں ہے، جسم میں (اختیاری) بھی لازمی، موجودہ دور کا استعمال کریں۔ جسم میں تبدیلی کے لیے محرک شامل ہونا چاہیے اور اسے پچھلے رویے سے متصادم کرنا چاہیے۔ آپ 'کیوں' کی وضاحت کر رہے ہیں، 'کیسے' کی نہیں۔ + +✅ GitHub کے ارد گرد سرف کرنے کے لئے چند منٹ لگیں. کیا آپ واقعی ایک زبردست کمٹ میسج ڈھونڈ سکتے ہیں؟ کیا آپ واقعی ایک کم سے کم تلاش کر سکتے ہیں؟ آپ کے خیال میں کمٹ میسیج میں پہنچانے کے لیے کون سی معلومات سب سے اہم اور مفید ہے؟ + +### کام: تعاون کریں۔ +GitHub پر چیزوں کو ڈالنے کی بنیادی وجہ دوسرے ڈویلپرز کے ساتھ تعاون کو ممکن بنانا تھا۔ + +## دوسروں کے ساتھ منصوبوں پر کام کرنا + +> ویڈیو دیکھیں +> +> [![Git and GitHub basics video](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8) + +اپنے ذخیرے میں، تشریف لے جائیں۔`Insights > Community` یہ دیکھنے کے لیے کہ آپ کا پروجیکٹ تجویز کردہ کمیونٹی کے معیارات سے کیسے موازنہ کرتا ہے۔ + + یہاں کچھ چیزیں ہیں جو آپ کے GitH کو بہتر بنا سکتی ہیں۔ + - **Description**. کیا آپ نے اپنے پروجیکٹ کی تفصیل شامل کی ہے؟ + - **README**. کیا آپ نے ایک شامل کیا؟ README? GitHub لکھنے کے لیے رہنمائی فراہم کرتا ہے۔ [README](https://docs.github.com/articles/about-readmes/?WT.mc_id=academic-77807-sagibbon). + - **Contributing guideline**.کیا آپ کا پروجیکٹ ہے؟ [contributing guidelines](https://docs.github.com/articles/setting-guidelines-for-repository-contributors/?WT.mc_id=academic-77807-sagibbon), + - **Code of Conduct**. a [Code of Conduct](https://docs.github.com/articles/adding-a-code-of-conduct-to-your-project/), + - **License**.شاید سب سے اہم بات، a [license](https://docs.github.com/articles/adding-a-license-to-a-repository/)? + + +ان وسائل سے ٹیم کے نئے اراکین کو آن بورڈ کرنے سے فائدہ ہوگا۔ اور یہ عام طور پر اس قسم کی چیزیں ہیں جو نئے شراکت دار آپ کے کوڈ کو دیکھنے سے پہلے دیکھتے ہیں، یہ جاننے کے لیے کہ آیا آپ کا پروجیکٹ ان کے لیے اپنا وقت گزارنے کے لیے صحیح جگہ ہے۔ + +✅ README files, اگرچہ انہیں تیاری میں وقت لگتا ہے، لیکن اکثر مصروف دیکھ بھال کرنے والوں کی طرف سے نظر انداز کیا جاتا ہے۔ کیا آپ کو خاص طور پر وضاحتی مثال مل سکتی ہے؟ نوٹ: کچھ ہیں۔ [tools to help create good READMEs](https://www.makeareadme.com/) that you might like to try. + +### ٹاسک: کچھ کوڈ ضم کریں۔ + +تعاون کرنے والے دستاویزات سے لوگوں کو پروجیکٹ میں تعاون کرنے میں مدد ملتی ہے۔ یہ بتاتا ہے کہ آپ کس قسم کے تعاون کی تلاش کر رہے ہیں اور یہ عمل کیسے کام کرتا ہے۔ تعاون کنندگان کو GitHub پر آپ کے ریپو میں حصہ ڈالنے کے قابل ہونے کے لیے کئی مراحل سے گزرنا ہوگا: +1. **Forking your repo**آپ شاید چاہیں گے کہ لوگ آپ کے پروجیکٹ کو _فورک_ کریں۔ فورکنگ کا مطلب ہے اپنے GitHub پروفائل پر اپنے ذخیرے کی نقل بنانا۔ 1. **Clone**. وہاں سے وہ پروجیکٹ کو اپنی مقامی مشین میں کلون کریں گے۔ +1. **Create a branch**. آپ ان سے اپنے کام کے لیے ایک _برانچ_ بنانے کے لیے کہنا چاہیں گے۔. +1. **Focus their change on one area**.شراکت داروں سے ایک وقت میں ایک چیز پر اپنی شراکتیں مرکوز کرنے کو کہیں - اس طرح آپ کے ان کے کام میں _ضم_ہونے کے امکانات زیادہ ہیں۔ تصور کریں کہ وہ ایک بگ فکس لکھتے ہیں، ایک نئی خصوصیت شامل کرتے ہیں، اور کئی ٹیسٹ اپ ڈیٹ کرتے ہیں - اگر آپ چاہتے ہیں، یا 3 میں سے صرف 2، یا 3 میں سے 1 تبدیلیاں لاگو کر سکتے ہیں تو کیا ہوگا؟ + +✅ ایسی صورت حال کا تصور کریں جہاں برانچز خاص طور پر اچھے کوڈ کو لکھنے اور بھیجنے کے لیے اہم ہوں۔ آپ کن استعمال کے معاملات کے بارے میں سوچ سکتے ہیں؟ + +>نوٹ کریں، وہ تبدیلی بنیں جو آپ دنیا میں دیکھنا چاہتے ہیں، اور اپنے کام کے لیے بھی شاخیں بنائیں۔ آپ جو بھی عہد کریں گے وہ اس برانچ پر کیے جائیں گے جو آپ فی الحال ہیں۔ + +آئیے کنٹریبیوٹر ورک فلو سے گزرتے ہیں۔ فرض کریں کہ شراکت دار نے پہلے ہی ریپو کو _فورک_ اور _کلونڈ_ کر لیا ہے لہذا ان کے پاس اپنی مقامی مشین پر کام کرنے کے لیے ایک گٹ ریپو تیار ہے: + +1. **Create a branch**.کمانڈ استعمال کریں۔ `git branch` ایک برانچ بنانے کے لیے جس میں وہ تبدیلیاں ہوں گی جن کا وہ تعاون کرنا چاہتے ہیں: + + ```bash + git branch [branch-name] + ``` + +1. **Switch to working branch**.مخصوص برانچ پر جائیں اور ورکنگ ڈائرکٹری کو اس کے ساتھ اپ ڈیٹ کریں۔`git switch`: + + ```bash + git switch [branch-name] + ``` + +1.**کام کرو**۔ اس وقت آپ اپنی تبدیلیاں شامل کرنا چاہتے ہیں۔ مندرجہ ذیل کمانڈز کے ساتھ گٹ کو اس کے بارے میں بتانا نہ بھولیں: + + ```bash + git add . + git commit -m "my changes" + ``` + + اس بات کو یقینی بنائیں کہ آپ اپنے عہد کو ایک اچھا نام دیتے ہیں، آپ کی خاطر اور اس ریپو کے مینٹینر کے لیے جس کی آپ مدد کر رہے ہیں۔ + +1. **Combine your work with the `main` branch**. کسی وقت آپ کام کر چکے ہیں اور آپ اپنے کام کو اس کے ساتھ جوڑنا چاہتے ہیں۔ + `main` branch. The `main` branch اس دوران تبدیل ہو سکتا ہے اس لیے یقینی بنائیں کہ آپ پہلے درج ذیل کمانڈز کے ساتھ اسے تازہ ترین میں اپ ڈیٹ کرتے ہیں۔ + + + ```bash + git switch main + git pull + ``` + + اس مقام پر آپ اس بات کو یقینی بنانا چاہتے ہیں کہ کوئی بھی _conflicts_، ایسے حالات جہاں Git آسانی سے _combine_ نہیں کرسکتا ہے تبدیلیاں آپ کی ورکنگ برانچ میں ہوتی ہیں۔ لہذا درج ذیل کمانڈز چلائیں: + + ```bash + git switch [branch_name] + git merge main + ``` + + اس سے تمام تبدیلیاں آئیں گی۔ `main` اپنی برانچ میں اور امید ہے کہ آپ جاری رکھ سکتے ہیں۔ اگر نہیں،VS Code آپ کو بتائے گا کہ Git کہاں الجھا ہوا ہے اور آپ صرف یہ بتانے کے لیے متاثرہ فائلوں کو تبدیل کرتے ہیں کہ کون سا مواد سب سے زیادہ درست ہے۔ + +1. **Send your work to GitHub**.اپنا کام GitHub پر بھیجنے کا مطلب دو چیزیں ہیں۔ اپنی برانچ کو اپنے ریپو پر دھکیلنا اور پھر PR کھولنا، پل کی درخواست + + ```bash + git push --set-upstream origin [branch-name] + ``` + + مندرجہ بالا کمانڈ آپ کے کانٹے دار ریپو پر برانچ بناتی ہے۔ + +1. **Open a PR**.اگلا، آپ PR کھولنا چاہتے ہیں۔ آپ GitHub پر فورکڈ ریپو پر تشریف لے کر ایسا کرتے ہیں۔ آپ GitHub پر ایک اشارہ دیکھیں گے جہاں یہ پوچھے گا کہ کیا آپ نیا PR بنانا چاہتے ہیں، آپ اس پر کلک کرتے ہیں اور آپ کو ایک ایسے انٹرفیس پر لے جایا جاتا ہے جہاں آپ کمٹ میسج ٹائٹل کو تبدیل کر سکتے ہیں، اسے مزید مناسب تفصیل دیں۔ اب آپ نے جو ریپو بنایا ہے اس کا مینٹینر اس PR کو دیکھے گا اور _fingers cross_ وہ آپ کے PR کی تعریف کریں گے اور _ضم_ کریں گے۔ آپ اب ایک شراکت دار ہیں، ہاں :) + +1. **Clean up**. PR کو کامیابی کے ساتھ ضم کرنے کے بعد _کلین اپ_ کرنا اچھا عمل سمجھا جاتا ہے۔ آپ اپنی مقامی برانچ اور اس برانچ دونوں کو صاف کرنا چاہتے ہیں جسے آپ نے GitHub میں دھکیل دیا تھا۔ پہلے درج ذیل کمانڈ کے ساتھ اسے مقامی طور پر ڈیلیٹ کر دیں۔ + + ```bash + git branch -d [branch-name] + ``` +اس بات کو یقینی بنائیں کہ آپ اگلے فورکڈ ریپو کے لیے GitHub صفحہ پر جائیں اور اس ریموٹ برانچ کو ہٹا دیں جسے آپ نے ابھی آگے بڑھایا ہے۔ + +`Pull request` ایک احمقانہ اصطلاح کی طرح لگتا ہے کیونکہ واقعی آپ اپنی تبدیلیوں کو پروجیکٹ میں آگے بڑھانا چاہتے ہیں۔ لیکن مینٹینر (پروجیکٹ کے مالک) یا بنیادی ٹیم کو پروجیکٹ کی "مین" برانچ کے ساتھ ضم کرنے سے پہلے آپ کی تبدیلیوں پر غور کرنے کی ضرورت ہے، لہذا آپ واقعی مینٹینر سے تبدیلی کے فیصلے کی درخواست کر رہے ہیں۔ + + پل ریکوئسٹ ایک برانچ پر متعارف کرائے گئے فرقوں کا موازنہ اور ان پر بحث کرنے کی جگہ ہے جس میں جائزے، تبصرے، مربوط ٹیسٹ وغیرہ شامل ہیں۔ ایک اچھی پل کی درخواست کمٹ میسج کی طرح تقریباً انہی اصولوں پر عمل کرتی ہے۔ آپ ایشو ٹریکر میں کسی مسئلے کا حوالہ شامل کر سکتے ہیں، جب مثال کے طور پر آپ کا کام کسی مسئلے کو حل کرتا ہے۔ یہ ایک کا استعمال کرتے ہوئے کیا جاتا ہے۔`#` اس کے بعد آپ کے مسئلے کی تعداد۔ مثال کے طور پر `#97`. + +🤞انگلیاں کراس ہو گئیں کہ تمام چیک پاس ہو جاتے ہیں اور پروجیکٹ کے مالکان آپ کی تبدیلیوں کو پروجیکٹ میں ضم کر دیتے ہیں🤞 + +اپنی موجودہ مقامی ورکنگ برانچ کو GitHub پر متعلقہ ریموٹ برانچ سے تمام نئے وعدوں کے ساتھ اپ ڈیٹ کریں۔: + +`git pull` + +## اوپن سورس میں تعاون کیسے کریں۔ + +سب سے پہلے، آئیے GitHub پر آپ کی دلچسپی کا ذخیرہ (یا **repo**) تلاش کریں اور جس میں آپ تبدیلی میں حصہ ڈالنا چاہیں گے۔ آپ اس کے مواد کو اپنی مشین میں کاپی کرنا چاہیں گے۔ + +✅ 'ابتدائی دوستانہ' ریپوز تلاش کرنے کا ایک اچھا طریقہ ہے۔ [ٹیگ کے ذریعہ تلاش کریں۔'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/). + +![Copy a repo locally](images/clone_repo.png) + +کوڈ کاپی کرنے کے کئی طریقے ہیں۔ ایک طریقہ HTTPS، SSH، یا GitHub CLI (کمانڈ لائن انٹرفیس) کا استعمال کرتے ہوئے، ذخیرہ کے مواد کو "کلون" کرنا ہے۔ + +اپنا ٹرمینل کھولیں اور ذخیرے کو اس طرح کلون کریں: +`git clone https://github.com/ProjectURL` + +پروجیکٹ پر کام کرنے کے لیے، دائیں فولڈر پر جائیں: +`cd ProjectURL` + +آپ پورے پروجیکٹ کو استعمال کرکے بھی کھول سکتے ہیں۔ [Codespaces](https://github.com/features/codespaces),GitHub کا ایمبیڈڈ کوڈ ایڈیٹر / کلاؤڈ ڈویلپمنٹ ماحول، یا [GitHub Desktop](https://desktop.github.com/). + +آخر میں، آپ کوڈ کو زپ شدہ فولڈر میں ڈاؤن لوڈ کر سکتے ہیں۔ + +### GitHub کے بارے میں کچھ اور دلچسپ باتیں + +آپ GitHub پر کسی بھی عوامی ذخیرے کو ستارہ، دیکھ اور/یا "فورک" کر سکتے ہیں۔ آپ اپنے ستارے والے ذخیرے اوپر دائیں ڈراپ ڈاؤن مینو میں تلاش کر سکتے ہیں۔ یہ بک مارکنگ کی طرح ہے، لیکن کوڈ کے لیے۔ + +پروجیکٹس میں ایشو ٹریکر ہوتا ہے، زیادہ تر "مسائل" ٹیب میں GitHub پر ہوتا ہے جب تک کہ دوسری صورت میں اشارہ نہ کیا جائے، جہاں لوگ پروجیکٹ سے متعلق مسائل پر بات کرتے ہیں۔ اور Pull Requests ٹیب وہ جگہ ہے جہاں لوگ ان تبدیلیوں پر تبادلہ خیال اور جائزہ لیتے ہیں جو جاری ہیں۔ + +پروجیکٹس پر فورمز، میلنگ لسٹ، یا سلیک، ڈسکارڈ یا IRC جیسے چیٹ چینلز میں بھی بحث ہو سکتی ہے۔ + +✅ اپنے نئے GitHub ریپو کے ارد گرد ایک نظر ڈالیں اور کچھ چیزوں کو آزمائیں، جیسے ترتیبات میں ترمیم کرنا، اپنے ریپو میں معلومات شامل کرنا، اور پروجیکٹ بنانا (جیسے کنبن بورڈ)۔ آپ بہت کچھ کر سکتے ہیں! +--- + +## 🚀 چیلنج +ایک دوسرے کے کوڈ پر کام کرنے کے لیے دوست کے ساتھ جوڑا بنائیں۔ باہمی تعاون سے ایک پروجیکٹ بنائیں، فورک کوڈ، شاخیں بنائیں، اور تبدیلیاں ضم کریں۔ + +## پوسٹ لیکچر کوئز + +[پوسٹ لیکچر کوئز](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/4) + +## جائزہ اور خود مطالعہ + +کے بارے میں مزید پڑھیں[contributing to open source software](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution). + +کے بارے میں مزید پڑھیں[contributing to open source software](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution). + +[Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/). + +مشق، مشق، مشق. GitHub کے پاس سیکھنے کے بہترین راستے دستیاب ہیں۔ [skills.github.com](https://skills.github.com): + +- [First Week on GitHub](https://skills.github.com/#first-week-on-github) + +آپ کو مزید جدید کورسز بھی ملیں گے۔ + +## تفویض + + مکمل [the First Week on GitHub course](https://skills.github.com/#first-week-on-github)