گٹ دستی: ٹیم کے ساتھ پرامن رہنے کا طریقہ

گڑبڑ کرنے والی ٹیم کا مثال | ماخذ: سپنج باب چوکیدار

گٹ مشکل ہے ، نچوڑنا آسان ہے۔ بہت سی چیزیں ہیں جو آپ کو ٹیم کے ساتھ گٹ کو موثر طریقے سے استعمال کرنے کے بارے میں جاننے چاہئیں۔ خوش قسمتی سے آپ یہاں ہیں ، ٹیم میں کام کرنے میں مدد کے ل to میں آپ کو گٹ دستی دکھاتا ہوں۔

گٹ کیا ہے؟

سافٹ ویئر ڈویلپمنٹ کے دوران سورس کوڈ میں تبدیلیوں سے باخبر رہنے کے لئے گٹ ایک مفت اور اوپن سورس ڈسٹری بیوٹڈ ورژن کنٹرول سسٹم (ڈی وی سی ایس) ہے۔ گٹ کو چھوٹے سے بہت بڑے پروجیکٹس کو تیزرفتاری اور استعداد سے ہینڈل کرنے کے لئے ڈیزائن کیا گیا ہے۔

بنیادی احکامات

میں آپ کو اپنی ٹیم میں شراکت میں مدد کرنے کے لئے گٹ میں کچھ بنیادی احکامات دکھاتا ہوں۔

git init

اگر آپ نیا مقامی ذخیرہ بنانا چاہتے ہیں تو ، آپ اس پر عملدرآمد کرسکتے ہیں:

git init

تب آپ کے پاس ایک تازہ اور بالکل نیا ذخیرہ ہے۔ وہاں سے آپ اپنے نئے ذخیرے میں اپنے کوڈ پر کام کرنا شروع کرسکتے ہیں۔

گٹ کلون

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

گٹ کلون 

گٹ شاخ

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

گٹ شاخ

اپنے ذخیرے میں تمام شاخوں کی فہرست بنائیں۔ یہ گٹ برانچ - فہرست کا مترادف ہے۔

گٹ شاخ 

نامی ایک نئی شاخ تشکیل دیں . اس سے نئی شاخ چیک نہیں ہوتی ہے۔

git برانچ -d 

مخصوص شاخ کو حذف کریں۔ یہ ایک "محفوظ" آپریشن ہے جس میں گٹ آپ کو برانچ کو حذف کرنے سے روکتا ہے اگر اس میں غیر تبدیلیاں آئیں۔

گٹ برانچ -ڈی 

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

گٹ شاخ - م 

موجودہ شاخ کا نام تبدیل کریں .

گٹ شاخ - ایک

تمام دور دراز کی شاخوں کی فہرست بنائیں۔

گٹ چیک آؤٹ

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

شاخوں کو تبدیل کرنا سیدھا سا عمل ہے۔ مندرجہ ذیل پر عمل درآمد سے سر کی طرف اشارہ ہوگا .

گٹ چیک آؤٹ 

جب ٹیم کے ساتھ تعاون کرتے ہو تو دور دراز ذخیروں کو استعمال کرنا عام بات ہے۔ یہ ذخیرے میزبان اور مشترکہ ہوسکتے ہیں یا یہ کسی اور ساتھی کی مقامی کاپی ہوسکتی ہیں۔ ہر دور دراز ذخیرے میں اپنی شاخوں کا ایک سیٹ ہوگا۔ کسی دور دراز کی شاخ کو چیک آؤٹ کرنے کے ل you آپ کو پہلے برانچ کے مندرجات لانا ہوں گے۔

git بازیافت - تمام

گٹ کے جدید ورژن میں ، آپ پھر مقامی برانچ کی طرح ریموٹ شاخ کو چیک آؤٹ کرسکتے ہیں۔

گٹ چیک آؤٹ 

اضافی طور پر آپ ایک نئی مقامی برانچ چیک آؤٹ کرسکتے ہیں اور اسے آخری مرتبہ کی جانے والی ریموٹ شاخوں پر دوبارہ ترتیب دے سکتے ہیں۔

گٹ چیک آؤٹ بی گٹ ری سیٹ - ہارڈ اصل /

ریموٹ

بس اتنا کہیں کہ آپ اپنی ٹیم کے پروجیکٹ کو اپنے آن لائن ذخیر into میں کلون کرنا چاہتے ہیں۔ گٹ ہب یا گٹ لیب پر اپنا ذخیرہ بنانے کے بعد ، آپ اپنی ٹیم پروجیکٹ کے مقامی ذخیرے کو اپنے آن لائن ذخیروں میں دھکیلنا چاہتے ہیں۔ اپنے کنکشن کو جانچنے کے ل you آپ یہ احکامات استعمال کرسکتے ہیں:

ریموٹ

آپ کے پاس موجود ریموٹ کنیکشنوں کی فہرست دیں جو آپ کو دوسرے ذخیروں سے ہیں۔

git ریموٹ -v

مذکورہ کمانڈ کی طرح ، لیکن ہر کنکشن کا URL بھی شامل کریں۔

اب آپ ان احکامات کو استعمال کرکے اپنے مقامی ذخیرہ کو اپنے آن لائن مخزن سے مربوط کرنا چاہتے ہیں۔

گٹ ریموٹ ایڈ 

ریموٹ اسٹوری میں نیا کنکشن بنائیں۔ ریموٹ شامل کرنے کے بعد ، آپ استعمال کرسکیں گے کے لئے ایک آسان شارٹ کٹ کے طور پر گٹ کے دیگر احکامات میں

git ریموٹ rm 

کہا جاتا ہے ریموٹ اسٹوریج سے کنکشن کو ہٹا دیں .

گٹ ریموٹ کا نام تبدیل کریں 

سے ریموٹ کنکشن کا نام تبدیل کریں کرنے کے لئے .

گٹ پل

اگر آپ اس برانچ میں جس آن لائن ذخیرہ پر کام کر رہے ہیں اس میں اگر اپ ڈیٹ ہو تو ، آپ گٹ پل کمانڈ کا استعمال کرکے اپنے مقامی ذخیرے کو اپ ڈیٹ کرسکتے ہیں۔ آن لائن مخزنوں سے نکالنے کا میرا طے شدہ طریقہ گٹ پل کا استعمال کرکے ہے لیکن گٹ پل کمانڈ میں بہت سے اختیارات ہیں:

گٹ پل

موجودہ برانچ کی ریموٹ کی مخصوص کاپی نکالیں اور اسے فورا. مقامی کاپی میں ضم کریں۔ یہ گٹ بازیافت جیسی ہے git ضم اصل / .

گٹ پل - کوئی کمٹ

پہلے سے طے شدہ درخواست کی طرح ، دور دراز کا مواد لاتا ہے لیکن نیا انضمام نہیں کرتا ہے۔

گٹ پل --rebase

پچھلی پل کی طرح ہی ، ریموٹ برانچ کو مقامی کے ساتھ مربوط کرنے کے لئے گٹ انضمام کو استعمال کرنے کے بجائے ، گٹ ریبیس استعمال کریں۔

گٹ پل --verbose

پل کے دوران لفظی پیداوار دیتا ہے جس میں ڈاؤن لوڈ ہونے والے مواد اور انضمام کی تفصیلات ظاہر ہوتی ہیں۔

گٹ دھکا

اپنے مقامی ذخیرے میں اپنی تبدیلیاں کرنے کے بعد فائلوں پر کتنا ہی کم اثر پڑتا ہے۔ آن لائن مخزنوں میں مقامی ذخیروں میں اپنی تبدیلیوں کو "پش" کرنے کے لئے گٹ پش کا استعمال کریں۔ آن لائن ذخیرہ کرنے کے لئے میرا پہلے سے طے شدہ طریقہ گٹ پش کا استعمال ہے لیکن گٹ پش کمانڈ میں بہت سے اختیارات ہیں:

گٹ دھکا

مخصوص شاخ کو دبائیں ، ساتھ ساتھ تمام ضروری عہدوں اور داخلی اشیاء کے ساتھ۔ اس سے منزل مقصود میں مقامی شاخ بن جاتی ہے۔ آپ کو اوور رائٹنگ وعدوں سے روکنے کے ل G ، گٹ آپ کو آگے بڑھنے نہیں دے گا جب اس کے نتیجے میں منزل مقصود میں غیر تیز رفتار آگے بڑھنے کا نتیجہ مل جاتا ہے۔

گٹ پش - فورس

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

git push - all

اپنی تمام مقامی شاخوں کو مخصوص ریموٹ پر دھکا دیں۔

git push --tags

جب آپ شاخ کو دبائیں گے یا - تمام آپشن استعمال کریں گے تو ٹیگز خود بخود نہیں دھکیلیں گیں۔ - ٹیگس پرچم آپ کے تمام مقامی ٹیگس کو ریموٹ اسٹوریج میں بھیجتا ہے۔

گٹ ضم

اپنے کام کو اپنی آن لائن مخزن شاخ میں دھکیلنے کے بعد۔ اب کہیں کہ آپ اپنی تبدیلی کو حتمی مصنوع میں ضم کرنا چاہتے ہیں ماسٹر برانچ پر یہ کہتے ہیں ، لیکن ماسٹر برانچ خود پہلے ہی اپ ڈیٹ ہوگئی ہے کیونکہ آپ کی ٹیم کے دوسرے ڈویلپرز نے اپنی شاخ کو ماسٹر برانچ میں ضم کردیا ہے۔

ضم ہونے سے پہلے | ماخذ: اٹلسین

اگر وہ آپ کے کام کی طرح کوڈ کو بھی انہی خطوط میں تبدیل نہیں کرتے ہیں تو ، آپ انضمام کمانڈ کا استعمال کرکے بغیر کسی تنازعہ کے اپنی شاخ کو ضم کرسکتے ہیں

گٹ چیک آؤٹ ماسٹر گٹ ولی git برانچ -d
ضم ہونے کے بعد | ماخذ: اٹلسین

اپنی شاخ کو ضم کرنے کے بعد بہترین طریقہ یہ ہے کہ اسے محفوظ طریقے سے حذف کریں۔

کسی اور صورت میں اگر ان کا کوڈ اسی طرح کی لکیروں میں ہے جیسے آپ کے کوڈ اور کوڈ مختلف ہیں تو آپ کو انضمام کا سامنا کرنا پڑے گا۔ اپنی شاخ کو دوبارہ ضم کرنے سے پہلے آپ کو تنازعہ حل کرنا ہوگا۔

گٹ چھوٹ

ضم ہونے کے متبادل کے طور پر ، آپ مندرجہ ذیل کمانڈز کا استعمال کرکے ماہر شاخ پر فیچر برانچ کو دوبارہ گھٹا سکتے ہیں:

گٹ چیک آؤٹ کی خصوصیت گٹ ریبیس ماسٹر

یہ ماسٹر برانچ کی نوک پر شروع ہونے والی پوری خصوصیت کی شاخ کو ماسٹر میں نئے معاہدوں کو مؤثر طریقے سے شامل کرنے کے لئے متحرک ہے۔ لیکن ، انضمام کے عہد کو استعمال کرنے کے بجائے ، چھوٹ دینا اصل برانچ میں ہر کمٹٹمنٹ کے لئے نئے برانڈ کا ارتکاب کرکے پروجیکٹ کی تاریخ کو دوبارہ لکھتا ہے۔

انضمام کے دوران فیچر برانچ میں اس طرح ایک نیا انضمام کریں۔

ماخذ کو برانچ میں شامل کریں | ماخذ: اٹلسین

ری بیس خصوصیت برانچ کے تمام کمٹٹس کو بالکل نئے ماسٹر برانچ کمٹ میں منتقل کر رہا ہے

شاخ شاخ کرنے کے لئے ماسٹر ریبیس | ماخذ: اٹلسین

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

گٹ لوٹنا

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

مثال کے طور پر ، درج ذیل کمانڈ میں 2nd سے آخری کمٹ میں ہونے والی تبدیلیاں معلوم ہوں گی ، ان تبدیلیوں کو کالعدم کرتے ہوئے ایک نئی کمٹٹ بنائی جائے گی ، اور موجودہ پروجیکٹ میں نئی ​​کمٹٹ کا مقابلہ کیا جائے گا۔

گٹ چیک آؤٹ ہاٹ فکس گٹ ہیڈ ~ 2 کو پلٹائیں

یہ مندرجہ ذیل کے طور پر تصور کیا جا سکتا ہے:

واپس جانے سے پہلے | ماخذ: اٹلسینواپس کرنے کے بعد | ماخذ: اٹلسین

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

گٹ اسٹش

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

گٹ اسٹش کمانڈ آپ کی غیر متزلزل تبدیلیاں (مرحلہ وار اور غیر منظم دونوں) لے جاتا ہے ، بعد میں استعمال کے ل for انھیں بچاتا ہے ، اور پھر انہیں آپ کی ورکنگ کاپی سے واپس لے جاتا ہے۔ مثال کے طور پر:

it گٹ کا درجہ ہمارا نیا ہوم پیج it گٹ کی حیثیت سے شاخ کے ماسٹر پر کام کرنے کے لئے کچھ نہیں ، درخت صاف ہے

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

آپ گٹ اسٹش پاپ کے ساتھ پہلے اسٹشڈ تبدیلیاں دوبارہ درخواست دے سکتے ہیں۔

it گٹ کی حیثیت سے برانچ ماسٹر پر کام کرنے کے لئے کچھ نہیں ، درخت صاف ہیں working گٹ اسٹش پاپ برانچ ماسٹر میں کمٹمنٹ کرنے کے لئے:
 نئی فائل: style.css
تبدیلیوں کا ارتکاب کے لئے مرحلہ وار نہیں:
 ترمیم شدہ: index.html
گرا دیا ریف / اسٹش @ {0} (32b3aa1d185dfe6d57b3c3cc3b32cbf3e380cc6a)

اپنے اسٹش کو پاپ کرنے سے آپ کے اسٹش سے آنے والی تبدیلیاں دور ہوجاتی ہیں اور ان کو آپ کی ورکنگ کاپی پر لاگو ہوتا ہے۔

متبادل کے طور پر ، آپ اپنی ورکنگ کاپی میں تبدیلیوں کو دوبارہ لاگو کرسکتے ہیں اور گٹ اسٹش کے ساتھ ان کو اپنے اسٹش میں رکھ سکتے ہیں۔

برانچ ماسٹر میں کی جانے والی تبدیلیاں:
 نئی فائل: style.css
تبدیلیوں کا ارتکاب کے لئے مرحلہ وار نہیں:
 ترمیم شدہ: index.html

یہ مفید ہے اگر آپ متعدد شاخوں میں وہی ذخیرہ تبدیلیاں لاگو کرنا چاہتے ہیں۔

اب جب آپ اسٹشینگ کی بنیادی باتوں کو جانتے ہیں تو ، گٹ اسٹش کے ساتھ ایک انتباہ موجود ہے جس کے بارے میں آپ کو آگاہ کرنے کی ضرورت ہے: بطور ڈیفالٹ گیٹ ان ٹریک یا نظرانداز شدہ فائلوں میں کی جانے والی تبدیلیاں اسٹش نہیں کرے گی۔

بند کرنا

مجھے امید ہے کہ اس مضمون نے آپ کو گٹ کو سمجھنے اور منصوبوں میں آپ کے ٹیم ورک کو بہتر بنانے کے ل more مزید معلومات فراہم کیں۔ اگلے مضمون میں ملتے ہیں! پڑھنے کا شکریہ!

اضافی وسائل

  • اٹلسین | گٹ سبق