JavaRush /جاوا بلاگ /Random-UR /آئیے Git کو Intellij IDEA کے ساتھ جوڑتے ہیں۔

آئیے Git کو Intellij IDEA کے ساتھ جوڑتے ہیں۔

گروپ میں شائع ہوا۔
جیسا کہ روایت ہے، میں آپ کو خوش آمدید کہتا ہوں، مستقبل کے سینئر سافٹ ویئر انجینئرز۔ آج ہم گٹآئیے Git کو Intellij IDEA - 1 کے ساتھ جوڑتے ہیں۔ کے بارے میں اپنے مضمون کے منطقی تسلسل کے بارے میں بات کریں گے ۔ میں برانچنگ کی حکمت عملیوں کے مواد کو پڑھنے کی بھی سفارش کرتا ہوں جو میں نے پہلے شائع کیا تھا۔ گٹ کے بارے میں مضمون میں، میں نے کمانڈ لائن پر اس کے ساتھ کام کرنے کا طریقہ بتایا، اور آج میں آپ کو بتاؤں گا کہ انٹیلیج آئی ڈی ای اے میں یہ سب کیسے کرنا ہے۔ ایک ڈویلپر کے طور پر اپنے سفر کے آغاز میں، میں نے کمانڈ لائن کا استعمال کیا اور سوچا کہ مجھے اس معاملے کے لیے UI استعمال کرنے کی ضرورت نہیں ہے۔ آخرکار، سب کچھ واضح ہے اور اسی طرح... لیکن یہ بالکل اس لمحے تک تھا جب میں نے Intellij IDEA میں Git کا استعمال شروع کیا... میں ابھی کہنا چاہتا ہوں کہ میں اپنے ذاتی تجربے کو بیان کروں گا۔ Intellij IDEA کا استعمال کرتے ہوئے ایک جیسے مسائل کو حل کرنے کے لیے کئی آپشنز موجود ہیں، اور اگر آپ جانتے ہیں کہ مضمون میں جو میں نے بیان کیا ہے اسے بہتر طریقے سے کیسے کرنا ہے، تبصرے میں لکھیں اور ہم بات کریں گے۔

ضروری تعارفی نوٹ:

  1. گٹ کے بارے میں مضمون کو پڑھیں، دہرائیں اور سمجھیں ۔ اس سے اس بات کو یقینی بنانے میں مدد ملے گی کہ سب کچھ پہلے سے ترتیب دیا گیا ہے اور جانے کے لیے تیار ہے۔
  2. Intellij IDEA انسٹال کریں۔
  3. مکمل جذب کے لیے ذاتی وقت کا ایک گھنٹہ مختص کریں۔
کام کے لیے، آئیے وہ ڈیمو پروجیکٹ لیں جو میں نے گٹ کے بارے میں مضمون کے لیے استعمال کیا تھا۔ اپ ڈیٹ:اشاعت کے وقت، نیا Github UI پہلے سے ہی دستیاب ہوگا، اور کچھ شبیہیں وہیں نہیں ہوں گی جہاں اسے مضمون میں دکھایا گیا ہے۔ گھبرائیں نہیں: آپ کو بس یا تو نئے UI پر سوئچ نہ کرنے کی ضرورت ہوگی، یا انہیں تلاش کرنے کی ضرورت ہوگی۔

پروجیکٹ کو مقامی طور پر کلون کریں۔

یہاں دو آپشنز ہیں۔
  1. اگر آپ کے پاس پہلے سے ہی گیتھب اکاؤنٹ ہے اور آپ بعد میں کچھ آگے بڑھانا چاہتے ہیں تو بہتر ہے کہ اس پروجیکٹ کو اپنے پاس رکھیں اور اپنی کاپی کلون کریں۔ فورک بنانے کا طریقہ - میں نے اس مضمون میں باب میں فورکنگ ورک فلو کی ایک مثال بیان کی ہے ۔
  2. میرے ذخیرے سے کلون کریں اور پوری چیز کو سرور پر دھکیلنے کی صلاحیت کے بغیر مقامی طور پر سب کچھ کریں۔ سب کے بعد، یہ میرا ذخیرہ ہوگا))
گیتھب سے کسی پروجیکٹ کو کلون کرنے کے لیے، آپ کو پروجیکٹ کا لنک کاپی کرکے IntelliJ IDEA کو بھیجنا ہوگا:
  1. پروجیکٹ ایڈریس کاپی کریں:

    آئیے Git کو Intellij IDEA - 2 کے ساتھ جوڑتے ہیں۔
  2. Intellij IDEA کھولیں اور ورژن کنٹرول سے حاصل کریں کو منتخب کریں:

    آئیے Git کو Intellij IDEA - 3 کے ساتھ جوڑتے ہیں۔
  3. پروجیکٹ میں ایڈریس کو کاپی اور پیسٹ کریں:

    آئیے Git کو Intellij IDEA - 4 کے ساتھ جوڑتے ہیں۔
  4. آپ کو ایک Intellij IDEA پروجیکٹ بنانے کے لیے کہا جائے گا۔ ہم پیشکش قبول کرتے ہیں:

    آئیے Git کو Intellij IDEA - 5 کے ساتھ جوڑتے ہیں۔
  5. چونکہ کوئی تعمیراتی نظام نہیں ہے، اور یہ مضمون کا دائرہ کار نہیں ہے، موجودہ ذرائع سے پروجیکٹ بنائیں کو منتخب کریں :

    آئیے Git کو Intellij IDEA - 6 کے ساتھ جوڑتے ہیں۔
  6. اس کے بعد ایک آئل پینٹنگ اس طرح ہوگی: آئیے Git کو Intellij IDEA - 7 کے ساتھ جوڑتے ہیں۔ہم نے کلوننگ کو ترتیب دیا ہے، اب ہم ارد گرد دیکھ سکتے ہیں۔

پہلے انٹیلیج آئی ڈی ای اے کو بطور گٹ UI دیکھیں

کلون شدہ پروجیکٹ پر ایک اور قریبی نظر ڈالیں: پہلے ہی وہاں آپ کو ورژن کنٹرول سسٹم کے بارے میں بہت سی معلومات مل سکتی ہیں۔ سب سے پہلے نیچے بائیں کونے میں ورژن کنٹرول پینل ہے۔ اس میں آپ تمام مقامی تبدیلیاں تلاش کرسکتے ہیں اور کمٹ کی فہرست حاصل کرسکتے ہیں (گٹ لاگ کے مطابق)۔ آئیے لاگ لیکچر کی طرف چلتے ہیں ۔ ایک خاص بصری جزو ہے جو یہ سمجھنے میں مدد کرتا ہے کہ ترقی کا عمل کیسے چلا۔ مثال کے طور پر، آپ دیکھ سکتے ہیں کہ txt میں کمٹ ایڈڈ ہیڈر کے ساتھ ایک نئی برانچ بنائی گئی تھی ، جسے پھر ماسٹر برانچ میں ضم کر دیا گیا تھا۔ اگر آپ کسی کمٹ پر کلک کرتے ہیں تو دائیں کونے میں آپ کمٹ کے بارے میں تمام معلومات دیکھ سکتے ہیں: تمام تبدیلیاں اور اس کا میٹا ڈیٹا۔ Подружим Git с Intellij IDEA - 8مزید یہ کہ آپ دیکھ سکتے ہیں کہ کیا تبدیلیاں کی گئی ہیں۔ مزید یہ کہ تنازعہ وہیں حل ہو گیا۔ IDEA بھی یہ بالکل ٹھیک دکھاتا ہے۔ اگر آپ اس کمٹ کے دوران تبدیل ہونے والی فائل پر ڈبل کلک کریں تو ہم دیکھیں گے کہ تنازعہ کیسے حل ہوا: Подружим Git с Intellij IDEA - 9یہ قابل ذکر ہے کہ دائیں اور بائیں ایک ہی فائل کے دو ورژن تھے جنہیں ایک میں ضم کرنے کی ضرورت تھی۔ اور درمیان میں حتمی نتیجہ ہے۔ جب کسی پروجیکٹ کی بہت سی شاخیں، کمٹ اور اس پراجیکٹ میں کام کرنے والے صارفین ہوتے ہیں، تو آپ کو برانچ (برانچ)، صارف (صارف) اور تاریخ (تاریخ) کے لحاظ سے الگ الگ تلاش کرنے کی ضرورت ہوتی ہے: Подружим Git с Intellij IDEA - 10اور آخری چیز جو میں شروع کرنے سے پہلے سمجھانا چاہتا ہوں وہ یہ ہے کہ کیسے سمجھنا ہے۔ ہم کس برانچ میں ہیں میں آپ کو تلاش کرنے کے لیے ایک منٹ دوں گا... کیا آپ نے یہ پایا؟ کیا آپ ہار مان رہے ہیں؟ :D نیچے دائیں کونے میں ایک Git: master بٹن ہے ، جہاں Git: کے بعد یہ دکھاتا ہے کہ پروجیکٹ اس وقت کس برانچ پر ہے۔ اگر آپ بٹن پر کلک کرتے ہیں، تو آپ بہت ساری مفید چیزیں کر سکتے ہیں: دوسری برانچ میں جائیں، ایک نئی برانچ بنائیں، موجودہ کا نام بدلیں، وغیرہ۔ Подружим Git с Intellij IDEA - 11

مخزن کے ساتھ کام کرنا

مفید ہاٹکیز

کام جاری رکھنے کے لیے، آپ کو چند انتہائی مفید ہاٹکیز کو یاد رکھنے کی ضرورت ہے:
  1. ctrl + t - ریموٹ ریپوزٹری (گٹ پل) سے تازہ ترین تبدیلیاں حاصل کریں۔
  2. ctrl + k - تمام تبدیلیاں جو فی الحال دستیاب ہیں کمٹ/دیکھیں۔ اس میں غیر ٹریک شدہ اور ترمیم شدہ فائلیں دونوں شامل ہیں (گٹ کے بارے میں میرا مضمون دیکھیں، یہ وہاں بیان کیا گیا ہے) (گٹ کمٹ)۔
  3. ctrl + shift + k ریموٹ ریپوزٹری میں تبدیلیوں کو آگے بڑھانے کے لئے ایک کمانڈ ہے۔ تمام وعدے جو مقامی طور پر بنائے گئے تھے اور ابھی تک ریموٹ پر نہیں ہیں ایک کو پش (گٹ پش) کے لیے پیش کیا جائے گا۔
  4. alt + ctrl + z - ایک مخصوص فائل میں تبدیلیوں کو مقامی ریپوزٹری میں آخری تخلیق کردہ کمٹ کی حالت میں واپس کریں۔ اگر آپ اوپری بائیں کونے میں پورے پروجیکٹ کو منتخب کرتے ہیں، تو آپ تمام فائلوں میں تبدیلیاں واپس کر سکتے ہیں۔
Подружим Git с Intellij IDEA - 12

ہم کیا چاہتے ہیں؟

کام کرنے کے لیے، ہمیں بنیادی اسکرپٹ پر عبور حاصل کرنا ہوگا، جو ہر جگہ استعمال ہوتا ہے۔ کام ایک علیحدہ برانچ میں نئی ​​فعالیت کو نافذ کرنا اور اسے دور دراز کے ذخیرے میں دھکیلنا ہے (پھر آپ کو مرکزی شاخ کے لیے ایک اور پل کی درخواست بنانے کی ضرورت ہے، لیکن یہ ہمارے مضمون کے دائرہ کار سے باہر ہے)۔ مجھے کیا کرنے کی ضرورت ہے؟
  1. مرکزی برانچ میں فی الحال تمام تبدیلیاں حاصل کریں (مثال کے طور پر ماسٹر)۔

  2. اس اہم کی بنیاد پر، اپنے کام کے لیے ایک الگ بنائیں۔

  3. نئی فعالیت کو نافذ کریں۔

  4. مین برانچ میں جائیں اور چیک کریں کہ آیا آپ کے کام کے دوران کوئی نئی تبدیلیاں ہوئی ہیں۔ اگر یہ نہیں تھا، تو سب کچھ ٹھیک ہے، اور اگر ایسا تھا، تو ہم درج ذیل کام کرتے ہیں: ہم ورکنگ برانچ میں جاتے ہیں اور مین برانچ سے اپنی میں ہونے والی تبدیلیوں کو ری بیس کرتے ہیں۔ اگر سب کچھ ٹھیک رہا تو بہت اچھا۔ لیکن تنازعات بھی ہوسکتے ہیں۔ اور انہیں دور دراز کے ذخیرے پر وقت ضائع کیے بغیر پہلے سے حل کیا جاسکتا ہے۔

    ایسا لگتا ہے، ایسا کیوں؟ یہ اچھی شکل کا ایک اصول ہے، جو آپ کی برانچ کو مقامی ذخیرے میں دھکیلنے کے بعد تنازعات کو پیدا ہونے سے روکتا ہے (یقیناً، ایک امکان ہے کہ وہ اب بھی موجود ہوں گے، لیکن یہ بہت کم ہو جاتا ہے)۔

  5. اپنی تبدیلیوں کو دور دراز کے ذخیرے میں دھکیلیں۔
آگے کیا ہوتا ہے اس کا انحصار آپ کے اہداف اور تخیل پر ہے۔

ریموٹ سرور سے تبدیلیاں وصول کریں؟

میں نے ایک نئے عہد کے ساتھ README میں تفصیل شامل کی ہے اور میں یہ تبدیلیاں وصول کرنا چاہتا ہوں۔ اگر مقامی اور دور دراز کے دونوں ذخیروں میں تبدیلیاں کی گئی ہوں تو انضمام اور بحالی کے درمیان ایک انتخاب پیش کیا جاتا ہے۔ انضمام کا انتخاب کریں۔ ctrl + t درج کریں : Подружим Git с Intellij IDEA - 13نتیجے کے طور پر، آپ دیکھ سکتے ہیں کہ README کس طرح تبدیل ہوا ہے، یعنی ریموٹ ریپوزٹری سے تبدیلیاں کھینچ لی گئی ہیں، اور نیچے دائیں کونے میں آپ سرور سے آنے والی تبدیلیوں کی تمام تفصیلات دیکھ سکتے ہیں۔ Подружим Git с Intellij IDEA - 14

ماسٹر کی بنیاد پر ایک نئی برانچ بنائیں

یہاں سب کچھ آسان ہے۔
  1. نیچے دائیں کونے پر جائیں اور Git: master پر کلک کریں ، + New Branch کو منتخب کریں ۔

    Подружим Git с Intellij IDEA - 15
  2. چیک آؤٹ برانچ کے چیک باکس کو چھوڑیں اور نئی برانچ کا نام لکھیں۔ میرے لیے یہ readme-improver ہوگا ۔

    Подружим Git с Intellij IDEA - 16

    اس کے بعد، Git: master بدل جائے گا Git: readme-improver ۔

متوازی کام کی نقل کرنا

تنازعات ظاہر ہونے کے لیے، کسی کو ان کو بنانا چاہیے :D میں براؤزر کے ذریعے README میں ایک نئی کمٹ کے ساتھ ترمیم کروں گا اور اس طرح متوازی کام کی نقل کروں گا۔ ان کا کہنا ہے کہ میرے کام کے دوران کسی نے میرے جیسی فائل میں تبدیلیاں کیں جس سے تنازعہ پیدا ہو جائے گا۔ میں لائن 10 سے لفظ "مکمل طور پر" ہٹا دوں گا۔

اپنی فعالیت کو نافذ کریں۔

کام README کو تبدیل کرنا اور نئے مضمون میں تفصیل شامل کرنا ہے، یعنی گٹ میں کام Intellij IDEA کے ذریعے کیا جاتا ہے۔ اسے شامل کریں: Подружим Git с Intellij IDEA - 17تبدیلیاں مکمل ہو گئی ہیں، اب آپ کمٹ بنا سکتے ہیں۔ hotkey ctrl + k دبائیں ، ہمیں ملتا ہے: Подружим Git с Intellij IDEA - 18کمٹمنٹ بنانے سے پہلے، آپ کو اس ونڈو میں کیا پیش کیا جاتا ہے اسے غور سے دیکھنا ہوگا۔ میں نے خاص طور پر آپ کو یہ دکھانے کے لیے ایک تیر شامل کیا کہ کہاں دیکھنا ہے۔ وہاں بہت ساری دلچسپ چیزیں ہیں۔ کمٹ میسج سیکشن میں ہم کمٹ کا متن لکھتے ہیں، اور اسے بنانے کے لیے، آپ کو کمٹ بٹن پر کلک کرنے کی ضرورت ہے ۔ مجھے ابھی تک یہ نہیں ملا کہ ہاٹکی سے یہ کیسے کیا جائے، اس لیے اگر کسی کو مل جائے تو لکھیں، مجھے بہت خوشی ہوگی۔ ہم لکھتے ہیں کہ README بدل گیا ہے اور ایک کمٹ بنائیں۔ نتیجے کے طور پر، کمٹ کے نام کے ساتھ نیچے بائیں کونے میں ایک الرٹ پاپ اپ ہو جائے گا: Подружим Git с Intellij IDEA - 19

چیک کریں کہ آیا ماسٹر برانچ بدل گیا ہے۔

ہم نے کام مکمل کیا، یہ کام کرتا ہے، ہم نے ٹیسٹ لکھے، سب کچھ ٹھیک ہے۔ لیکن سرور پر جانے سے پہلے، آپ کو یہ چیک کرنے کی ضرورت ہے کہ آیا اس دوران مین برانچ میں کوئی تبدیلیاں ہوئی ہیں یا نہیں۔ یہ کیسے ہو سکتا ہے؟ یہ بہت آسان ہے: آپ کے بعد کسی کو ایک کام دیا گیا تھا، اور اس نے آپ سے زیادہ تیزی سے کام کیا۔ لہذا، ہم ماسٹر برانچ میں منتقل ہوتے ہیں. ایسا کرنے کے لیے، آپ کو نیچے دائیں کونے میں وہی کرنا ہوگا جو نیچے کی تصویر میں دکھایا گیا ہے: Подружим Git с Intellij IDEA - 20ماسٹر برانچ میں، ریموٹ سرور سے اس کی تازہ ترین تبدیلیاں حاصل کرنے کے لیے ctrl + t دبائیں۔ اگر آپ دیکھیں کہ کیا تبدیلیاں کی گئی ہیں، تو آپ آسانی سے دیکھ سکتے ہیں کہ کیا ہوا: Подружим Git с Intellij IDEA - 21جیسا کہ آپ دیکھ سکتے ہیں، لفظ "مکمل طور پر" ہٹا دیا گیا تھا۔ شاید یہ مارکیٹنگ سے تعلق رکھنے والا کوئی تھا جس نے فیصلہ کیا کہ اسے اس طرح نہیں لکھا جا سکتا اور ڈویلپرز کو اسے اپ ڈیٹ کرنے کا کام سونپا۔ اب ہمارے پاس مقامی طور پر ماسٹر برانچ کا تازہ ترین ورژن ہے۔ آئیے readme-improver پر واپس چلتے ہیں ۔ اب ہمیں ماسٹر برانچ سے اپنی میں تبدیلیوں کو دوبارہ ترتیب دینے کی ضرورت ہے۔ ہم کرتے ہیں: Подружим Git с Intellij IDEA - 22اگر آپ نے میرے ساتھ ہر چیز کو درست طریقے سے پیروی کیا، تو نتیجہ README فائل میں تنازعہ ہونا چاہئے: Подружим Git с Intellij IDEA - 23یہاں بہت ساری معلومات بھی ہیں جنہیں سمجھنے اور جذب کرنے کی ضرورت ہے۔ یہ ان فائلوں کی فہرست (ہمارے ایک عنصر کے معاملے میں) دکھاتا ہے جن میں تنازعات ہیں۔ ہم تین اختیارات کا انتخاب کر سکتے ہیں:
  1. آپ کو قبول کریں - صرف ریڈمی امپروور سے تبدیلیاں قبول کریں۔
  2. ان کو قبول کریں - صرف ماسٹر سے تبدیلیاں قبول کریں۔
  3. ضم کریں - خود منتخب کریں کہ کیا رکھنا ہے اور کیا ہٹانا ہے۔
یہ واضح نہیں ہے کہ وہاں کیا تبدیلی آئی ہے، اور اگر تبدیلیاں ماسٹر میں ہیں، تو ان کی وہاں ضرورت ہے، اور ہم صرف اپنی تبدیلیوں کو قبول نہیں کر سکتے، اس لیے ہم انضمام کا انتخاب کرتے ہیں : Подружим Git с Intellij IDEA - 24یہاں آپ دیکھ سکتے ہیں کہ تین حصے ہیں:
  1. یہ ریڈمی امپروور کی تبدیلیاں ہیں۔
  2. نتیجہ۔ اب کے لیے وہی ہے جیسا کہ تبدیلیوں سے پہلے تھا۔
  3. ماسٹر برانچ سے تبدیلیاں۔
ہمیں رزلٹ کو اس طرح جمع کرنے کی ضرورت ہے کہ اس سے سب مطمئن ہوں۔ لہذا، ہم نے مطالعہ کیا کہ انہوں نے ہمارے سامنے کیا کیا، اور محسوس کیا کہ انہوں نے لفظ "مکمل طور پر" ہٹا دیا ہے۔ ٹھیک ہے، کوئی مسئلہ نہیں. اس کا مطلب ہے کہ ہم اس کے نتیجے میں اسے ہٹا دیں گے اور اپنی تبدیلیاں شامل کر دیں گے۔ جیسے ہی ہم نتیجہ درست کرتے ہیں، آپ اپلائی پر کلک کر سکتے ہیں ۔ اس کے بعد، ایک نوٹیفکیشن پاپ اپ ہوگا کہ ری بیس کامیاب رہا: Подружим Git с Intellij IDEA - 25اس طرح ہم نے اپنے پہلے تنازع کو Intellij IDEA کے ذریعے حل کیا :D

ریموٹ سرور میں تبدیلیوں کو پش کریں۔

اگلا مرحلہ ریموٹ سرور میں تبدیلیوں کو آگے بڑھانا اور پل کی درخواست بنانا ہے۔ ایسا کرنے کے لیے، صرف دبائیں ctrl + shift + k ، جس کے بعد ہمیں ملتا ہے: Подружим Git с Intellij IDEA - 26بائیں جانب کمٹ کی ایک فہرست ہوگی جنہیں ریموٹ ریپوزٹری میں نہیں دھکیلا گیا ہے، اور دائیں جانب وہ تمام فائلیں ہوں گی جو تبدیل بس اتنا ہے: پش پر کلک کریں ، اور آپ خوش ہوں گے :) اگر پش کامیاب ہو جاتا ہے، تو نیچے دائیں کونے میں اس طرح کی ایک اطلاع آئے گی: Подружим Git с Intellij IDEA - 27

بونس کا حصہ

میں ابتدائی طور پر آرٹیکل میں پل ریکوئسٹ کی تخلیق کو شامل نہیں کرنا چاہتا تھا، لیکن اس کی وجہ سے یہ بہت مکمل نہیں ہوا۔ اس لیے، ہم GitHub کے ذخیرے پر جاتے ہیں (اگر یہ آپ کا ہے، یقیناً)))) اور دیکھیں کہ GitHub پہلے ہی جانتا ہے کہ ہمیں کیا پیش کرنا ہے: Compare & pull requestПодружим Git с Intellij IDEA - 28 پر کلک کریں ، اور پھر Create pull request پر کلک کریں ۔ اس حقیقت کی وجہ سے کہ ہم نے تنازعات کو پہلے ہی حل کر لیا تھا، اب پل کی درخواست بناتے وقت، آپ اسے فوری طور پر ضم کر سکتے ہیں: میں اس بار آپ کو بس اتنا ہی بتانا چاہتا ہوں۔ بالکل، میں نے ابھی دروازہ کھولا اور آپ کو ایک چھوٹا سا حصہ دکھایا۔ باقی آپ ضرورت کے مطابق خود تلاش کر لیں گے۔ ہمیشہ کی طرح، میں آپ کو اپنے GitHub اکاؤنٹ کو سبسکرائب کرنے کی دعوت دیتا ہوں ، جہاں میں کام پر استعمال ہونے والی مختلف ٹیکنالوجیز پر مبنی پروجیکٹس پوسٹ کرتا ہوں۔ مجھے حال ہی میں ایک ذاتی کامیابی ملی ہے - میرے پروجیکٹ کو پہلے ہی سو سے زیادہ ڈویلپرز نے درجہ بندی کر دی ہے۔ یہ خوشی کا ایک ناقابل یقین احساس ہے کہ کوئی آپ کی بنائی ہوئی چیزوں کو استعمال کرتا ہے۔ اور اسے اچھے کام کے لیے استعمال کرتا ہے۔ Подружим Git с Intellij IDEA - 29

مفید لنکس

  1. JavaRush: Git کے ساتھ شروعات کرنا: beginners کے لیے ایک تفصیلی گائیڈ
  2. GitHub: ڈیمو پروجیکٹ کے ساتھ کام کرنا
  3. جاوا رش: گٹ میں برانچنگ کی حکمت عملیوں کا تجزیہ کرنا
  4. جیٹ برینز: گٹ ریپوزٹری مرتب کریں۔
  5. حبر: گٹ ریبیس
  6. GitHub: میرا اکاؤنٹ
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION