مطلوبہ ان پٹ:
- گٹ کے بارے میں میرا مضمون پڑھیں، اس کی پیروی کریں اور سمجھیں ۔ اس سے یہ یقینی بنانے میں مدد ملے گی کہ سب کچھ ترتیب دیا گیا ہے اور جانے کے لیے تیار ہے۔
- IntelliJ IDEA انسٹال کریں۔
- مکمل مہارت حاصل کرنے کے لیے ذاتی وقت کا ایک گھنٹہ مختص کریں۔
پروجیکٹ کو مقامی طور پر کلون کریں۔
یہاں دو اختیارات ہیں:- اگر آپ کے پاس پہلے سے ہی GitHub اکاؤنٹ ہے اور آپ بعد میں کچھ آگے بڑھانا چاہتے ہیں تو بہتر ہے کہ پروجیکٹ کو فورک کریں اور اپنی کاپی کلون کریں۔
- میرے ذخیرے کو کلون کریں اور پوری چیز کو سرور پر دھکیلنے کی صلاحیت کے بغیر مقامی طور پر سب کچھ کریں۔ سب کے بعد، یہ میرا ذخیرہ ہے :)
-
پروجیکٹ ایڈریس کاپی کریں:
-
IntelliJ IDEA کھولیں اور "ورژن کنٹرول سے حاصل کریں" کو منتخب کریں:
-
پروجیکٹ ایڈریس کو کاپی اور پیسٹ کریں:
-
آپ کو ایک IntelliJ IDEA پروجیکٹ بنانے کے لیے کہا جائے گا۔ پیشکش قبول کریں:
-
چونکہ کوئی تعمیراتی نظام نہیں ہے اور یہ اس مضمون کے دائرہ کار سے باہر ہے، ہم موجودہ ذرائع سے پروجیکٹ بنائیں کو منتخب کرتے ہیں :
-
اس کے بعد آپ کو یہ خوبصورت اسکرین نظر آئے گی: اب جب کہ ہم نے کلوننگ کا پتہ لگا لیا ہے، آپ اپنے ارد گرد ایک نظر ڈال سکتے ہیں۔
Git UI کے بطور IntelliJ IDEA پر پہلی نظر
کلون شدہ پروجیکٹ پر گہری نظر ڈالیں: آپ ورژن کنٹرول سسٹم کے بارے میں پہلے ہی بہت سی معلومات حاصل کر سکتے ہیں۔ سب سے پہلے، ہمارے پاس نیچے بائیں کونے میں ورژن کنٹرول پین ہے۔ یہاں آپ تمام مقامی تبدیلیاں تلاش کر سکتے ہیں اور کمٹ کی فہرست حاصل کر سکتے ہیں ("گٹ لاگ" کے مشابہ)۔ آئیے لاگ کی بحث کی طرف چلتے ہیں ۔ ایک خاص تصور ہے جو ہمیں یہ سمجھنے میں مدد کرتا ہے کہ ترقی کس طرح آگے بڑھی ہے۔ مثال کے طور پر، آپ دیکھ سکتے ہیں کہ txt کمٹ میں ایک اضافی ہیڈر کے ساتھ ایک نئی برانچ بنائی گئی تھی، جسے پھر ماسٹر برانچ میں ضم کر دیا گیا تھا۔ اگر آپ کسی کمٹ پر کلک کرتے ہیں، تو آپ دائیں کونے میں کمٹ کے بارے میں تمام معلومات دیکھ سکتے ہیں: اس کی تمام تبدیلیاں اور میٹا ڈیٹا۔ مزید یہ کہ آپ اصل تبدیلیاں دیکھ سکتے ہیں۔ ہم یہ بھی دیکھتے ہیں کہ وہاں ایک تنازعہ حل ہو گیا تھا۔ IDEA بھی اسے بہت اچھی طرح سے پیش کرتا ہے۔ اگر آپ اس کمٹ کے دوران تبدیل ہونے والی فائل پر ڈبل کلک کرتے ہیں، تو ہم دیکھیں گے کہ تنازعہ کیسے حل ہوا: ہم نوٹ کرتے ہیں کہ بائیں اور دائیں طرف ہمارے پاس ایک ہی فائل کے دو ورژن ہیں جنہیں ایک میں ضم کرنے کی ضرورت ہے۔ اور درمیان میں، ہمارے پاس حتمی ضم شدہ نتیجہ ہے۔ جب کسی پروجیکٹ کی بہت سی شاخیں، کمٹ، اور یوزرز ہوتے ہیں، تو آپ کو برانچ، صارف اور تاریخ کے لحاظ سے الگ الگ تلاش کرنے کی ضرورت ہوتی ہے: ہم شروع کرنے سے پہلے آخری چیز جس کی وضاحت کرنا چاہتا ہوں وہ یہ ہے کہ ہم کس برانچ میں ہیں یہ کیسے سمجھنا ہے۔ میں آپ کو بتاؤں گا۔ اس کا پتہ لگانے کے لیے ایک منٹ... کیا آپ نے اسے تلاش کیا؟ چھوڑ دینا؟ :D نیچے دائیں کونے میں، ایک بٹن ہے جس پر Git: master کا لیبل لگا ہوا ہے ۔ جو بھی "گٹ:" کی پیروی کرتا ہے وہ موجودہ شاخ ہے۔ اگر آپ بٹن پر کلک کرتے ہیں، تو آپ بہت ساری مفید چیزیں کر سکتے ہیں: دوسری برانچ پر جائیں، ایک نئی برانچ بنائیں، موجودہ کا نام تبدیل کریں، وغیرہ۔مخزن کے ساتھ کام کرنا
مفید ہاٹکیز
مستقبل کے کام کے لیے، آپ کو چند انتہائی مفید ہاٹکیز کو یاد رکھنے کی ضرورت ہے:- CTRL+T - ریموٹ ریپوزٹری (گٹ پل) سے تازہ ترین تبدیلیاں حاصل کریں۔
- CTRL+K - ایک عہد بنائیں / تمام موجودہ تبدیلیاں دیکھیں۔ اس میں غیر ٹریک شدہ اور تبدیل شدہ فائلیں دونوں شامل ہیں (گٹ کے بارے میں میرا مضمون دیکھیں، جو اس کی وضاحت کرتا ہے) (گٹ کمٹ)۔
- CTRL+SHIFT+K - یہ ریموٹ ریپوزٹری میں تبدیلیوں کو آگے بڑھانے کا حکم ہے۔ تمام وعدے جو مقامی طور پر بنائے گئے ہیں اور ابھی تک ریموٹ ریپوزٹری میں نہیں ہیں ان کو دھکیل دیا جائے گا (گٹ پش)۔
- ALT+CTRL+Z — ایک مخصوص فائل میں مقامی ریپوزٹری میں تخلیق کردہ آخری کمٹ کی حالت میں رول بیک تبدیلیاں۔ اگر آپ اوپری بائیں کونے میں پورے پروجیکٹ کو منتخب کرتے ہیں، تو آپ تمام فائلوں میں تبدیلیوں کو واپس کر سکتے ہیں۔
ہم کیا چاہتے ہیں؟
کام مکمل کرنے کے لیے، ہمیں ایک بنیادی منظر نامے پر عبور حاصل کرنے کی ضرورت ہے جو ہر جگہ استعمال ہوتا ہے۔ مقصد یہ ہے کہ ایک علیحدہ برانچ میں نئی فعالیت کو لاگو کیا جائے اور پھر اسے دور دراز کے ذخیرے میں دھکیل دیا جائے (پھر آپ کو مین برانچ میں پل کی درخواست بھی بنانے کی ضرورت ہے، لیکن یہ اس مضمون کے دائرہ کار سے باہر ہے)۔ ایسا کرنے کی کیا ضرورت ہے؟-
مرکزی شاخ میں تمام موجودہ تبدیلیاں حاصل کریں (مثال کے طور پر، "ماسٹر")۔
-
اس مین برانچ سے اپنے کام کے لیے الگ برانچ بنائیں۔
-
نئی فعالیت کو نافذ کریں۔
-
مین برانچ میں جائیں اور چیک کریں کہ کیا ہمارے کام کے دوران کوئی نئی تبدیلیاں ہوئی ہیں۔ اگر نہیں، تو سب کچھ ٹھیک ہے. لیکن اگر تبدیلیاں ہوئیں، تو ہم مندرجہ ذیل کام کرتے ہیں: ورکنگ برانچ میں جائیں اور مین برانچ سے ہماری برانچ میں ہونے والی تبدیلیوں کو ری بیس کریں۔ اگر سب کچھ ٹھیک ہو جائے تو بہت اچھا۔ لیکن یہ مکمل طور پر ممکن ہے کہ تنازعات ہوں گے۔ جیسا کہ ایسا ہوتا ہے، انہیں دور دراز کے ذخیرے میں وقت ضائع کیے بغیر، پہلے ہی حل کیا جا سکتا ہے۔
کیا آپ سوچ رہے ہیں کہ آپ کو ایسا کیوں کرنا چاہیے؟ یہ اچھا آداب ہے اور آپ کی برانچ کو مقامی ذخیرہ میں دھکیلنے کے بعد تنازعات کو ہونے سے روکتا ہے (یقیناً، اس بات کا امکان ہے کہ تنازعات اب بھی ہوں گے، لیکن یہ بہت چھوٹا ہو جاتا ہے )۔
- اپنی تبدیلیوں کو ریموٹ ریپوزٹری میں دھکیلیں۔
ریموٹ سرور سے تبدیلیاں حاصل کریں؟
میں نے ایک نئے عہد کے ساتھ README میں ایک تفصیل شامل کی ہے اور یہ تبدیلیاں حاصل کرنا چاہتا ہوں۔ اگر تبدیلیاں مقامی ریپوزٹری اور دور دراز دونوں میں کی گئی ہیں، تو ہمیں مدعو کیا جاتا ہے کہ وہ انضمام اور بحالی کے درمیان انتخاب کریں۔ ہم ضم کرنے کا انتخاب کرتے ہیں۔ CTRL+T درج کریں : اب آپ دیکھ سکتے ہیں کہ README کس طرح تبدیل ہوا ہے، یعنی ریموٹ ریپوزٹری سے تبدیلیاں کی گئی ہیں، اور نیچے دائیں کونے میں آپ سرور سے آنے والی تبدیلیوں کی تمام تفصیلات دیکھ سکتے ہیں۔ماسٹر کی بنیاد پر ایک نئی برانچ بنائیں
یہاں سب کچھ آسان ہے۔-
نیچے دائیں کونے پر جائیں اور Git: master پر کلک کریں ۔ منتخب کریں + نئی برانچ ۔
چیک آؤٹ برانچ کے چیک باکس کو منتخب رہنے دیں اور نئی برانچ کا نام درج کریں۔ میرے لیے یہ readme-improver ہو گا ۔
Git: master پھر Git: readme-improver میں تبدیل ہو جائے گا ۔
آئیے متوازی کام کی نقل کرتے ہیں۔
تنازعات ظاہر ہونے کے لیے، کسی کو انہیں بنانا ہوگا :D میں براؤزر کے ذریعے README کو ایک نئی کمٹ کے ساتھ ایڈٹ کروں گا، اس طرح متوازی کام کی تقلید کروں گا۔ یہ ایسا ہی ہے جیسے کسی نے اسی فائل میں تبدیلیاں کیں جب میں اس پر کام کر رہا تھا۔ نتیجہ تصادم کی صورت میں نکلے گا۔ میں لائن 10 سے لفظ "fully" ہٹا دوں گا۔ہماری فعالیت کو نافذ کریں۔
ہمارا کام README کو تبدیل کرنا اور نئے مضمون میں تفصیل شامل کرنا ہے۔ یعنی Git میں کام IntelliJ IDEA سے ہوتا ہے۔ اسے شامل کریں: تبدیلیاں ہو چکی ہیں۔ اب ہم ایک عہد بنا سکتے ہیں۔ دبائیں CTRL+K ، جو ہمیں دیتا ہے: کمٹ بنانے سے پہلے، ہمیں اس پر گہری نظر ڈالنے کی ضرورت ہے کہ یہ ونڈو کیا پیش کرتی ہے۔ میں نے آپ کو یہ دکھانے کے لیے سرخ تیر شامل کیے ہیں کہ کہاں دیکھنا ہے۔ یہاں بہت ساری دلچسپ چیزیں ہیں۔ کمٹ میسیج سیکشن میں ، ہم کمٹ سے منسلک ٹیکسٹ لکھتے ہیں۔ پھر اسے بنانے کے لیے ہمیں Commit پر کلک کرنے کی ضرورت ہے ۔ مجھے ابھی تک یہ معلوم نہیں ہو سکا کہ ہاٹکی کے ساتھ یہ کیسے کرنا ہے۔ اگر کسی کو پتہ چلتا ہے کہ کیسے، براہ کرم مجھے لکھیں - اس سے مجھے بہت خوشی ہوگی۔ ہم لکھتے ہیں کہ README بدل گیا ہے اور کمٹ تخلیق کریں۔ کمٹ کے نام کے ساتھ نیچے بائیں کونے میں ایک الرٹ پاپ اپ ہوتا ہے:چیک کریں کہ کیا مین برانچ بدل گئی ہے۔
ہم نے اپنا کام مکمل کر لیا۔ یہ کام کرتا ہے. ہم نے ٹیسٹ لکھے۔ سب کچھ ٹھیک ہے. لیکن سرور کو دھکیلنے سے پہلے، ہمیں ابھی بھی یہ چیک کرنے کی ضرورت ہے کہ آیا اس دوران مین برانچ میں کوئی تبدیلیاں ہوئی ہیں۔ ایسا کیسے ہو سکتا تھا؟ کافی آسانی سے: کسی کو آپ کے بعد کوئی کام موصول ہوتا ہے، اور یہ کہ کوئی اسے آپ کے کام کو ختم کرنے سے زیادہ تیزی سے ختم کرتا ہے۔ لہذا ہمیں ماسٹر برانچ میں جانے کی ضرورت ہے۔ ایسا کرنے کے لیے، ہمیں وہی کرنا ہوگا جو نیچے اسکرین شاٹ میں نیچے دائیں کونے میں دکھایا گیا ہے: ماسٹر برانچ میں، ریموٹ سرور سے اس کی تازہ ترین تبدیلیاں حاصل کرنے کے لیے CTRL+T دبائیں۔ تبدیلیوں کو دیکھتے ہوئے، آپ آسانی سے دیکھ سکتے ہیں کہ کیا ہوا: لفظ "fully" ہٹا دیا گیا تھا۔ ہوسکتا ہے کہ مارکیٹنگ سے کسی نے فیصلہ کیا کہ اسے اس طرح نہیں لکھا جانا چاہئے اور ڈویلپرز کو اسے اپ ڈیٹ کرنے کا ٹاسک دیا۔ ہمارے پاس اب ماسٹر برانچ کے تازہ ترین ورژن کی مقامی کاپی ہے۔ readme-improver پر واپس جائیں ۔ اب ہمیں ماسٹر برانچ سے اپنی میں تبدیلیوں کو دوبارہ ترتیب دینے کی ضرورت ہے۔ ہم یہ کرتے ہیں: اگر آپ نے سب کچھ صحیح طریقے سے کیا اور میرے ساتھ عمل کیا، تو نتیجہ README فائل میں تنازعہ دکھائے گا: یہاں ہمارے پاس سمجھنے اور لینے کے لیے بہت سی معلومات بھی ہیں۔ یہاں فائلوں کی ایک فہرست دکھائی گئی ہے (ہمارے معاملے میں، ایک فائل) جن میں تنازعات ہیں۔ ہم تین اختیارات میں سے انتخاب کر سکتے ہیں:- آپ کو قبول کریں — صرف ریڈمی امپروور سے تبدیلیاں قبول کریں۔
- ان کو قبول کریں - صرف ماسٹر کی تبدیلیوں کو قبول کریں۔
- ضم کریں - اپنے آپ کو منتخب کریں کہ آپ کیا رکھنا چاہتے ہیں اور کیا رد کرنا چاہتے ہیں۔
- یہ ریڈمی امپروور کی تبدیلیاں ہیں۔
- ضم شدہ نتیجہ۔ ابھی کے لیے، یہ وہی ہے جو تبدیلیوں سے پہلے موجود تھا۔
- ماسٹر برانچ سے تبدیلیاں۔
GO TO FULL VERSION