10 اعلی درجے کی گٹ تکنیک - KDnuggets

10 اعلی درجے کی Git تکنیک - KDnuggets

ماخذ نوڈ: 3083811

10 اعلی درجے کی گٹ تکنیک
مصنف کی طرف سے تصویر
 

کبھی سوچا ہے کہ گٹ کا استعمال کرتے وقت آپ اپنے مینیجر کے سامنے ایک پرو کی طرح نظر آنے کے لیے کیا کر سکتے ہیں؟ اس پوسٹ میں، ہم گٹ کی 10 جدید تکنیکوں اور شارٹ کٹس کے بارے میں جانیں گے جو آپ کو کوڈ کو ورژن بنانے، برقرار رکھنے اور شیئر کرنے میں زیادہ موثر بنائیں گے۔

آپ کو گٹ کے ساتھ کمٹمنٹ کرنے، دھکیلنے، کھینچنے اور برانچ کرنے کی بنیادی باتیں شاید پہلے ہی معلوم ہوں گی۔ لیکن بہت سے کم معروف کمانڈز اور فیچرز ہیں جو آپ کی مہارت کو بڑھا سکتے ہیں۔ اس کو پڑھنے کے بعد، آپ کے پاس اپنی Git کی مہارت سے ساتھی کارکنوں کو متاثر کرنے کے لیے آپ کی آستین میں کچھ چالاک چالیں ہوں گی۔

آپ نے فائلوں کو اس طرح متعدد بار شامل کیا ہے اور اس کا ارتکاب کیا ہے، لیکن کیا ہوگا اگر میں آپ کو بتاؤں کہ یہ `-am` پرچم کے ساتھ ایک لائن میں کیا جا سکتا ہے؟ 

$ git add .
$ git commit -m "new project"

 

اس کے بجائے اسے آزمائیں، اور یہ فائل میں تبدیلیاں شامل کرے گا اور پیغام کا استعمال کرتے ہوئے کمٹ بنائے گا۔ 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

آپ `–ترمیم` پرچم کا استعمال کرتے ہوئے اپنے موجودہ کمٹ میسج کا نام تبدیل کر سکتے ہیں اور نیا پیغام لکھ سکتے ہیں۔ اس سے آپ کو حادثاتی پیغامات میں مدد ملے گی۔

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

آپ اسے ریموٹ ریپوزٹری میں دھکیلنے سے پہلے موجودہ کمٹ میں اضافی تبدیلیاں شامل کر سکتے ہیں۔ ایسا کرنے کے لیے، آپ کو فائل میں تبدیلیاں شامل کرنے کی ضرورت ہے اور پھر `–ترمیم` پرچم کا استعمال کرتے ہوئے ارتکاب کرنا ہوگا۔ پچھلے کمٹ میسج کو برقرار رکھنے کے لیے، صرف `–no-edit` جھنڈا استعمال کریں۔

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

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

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Git میں کسی کمٹ کو کالعدم کرنے کے لیے، آپ 'revert' کمانڈ استعمال کر سکتے ہیں۔ تاہم، یہ حکم کسی بھی کمٹ کو نہیں ہٹاتا ہے۔ اس کے بجائے، یہ ایک نیا کمٹ بناتا ہے جو اصل کمٹ کے ذریعے کی گئی تبدیلیوں کو کالعدم کر دیتا ہے۔

ہم کمٹ ہسٹری کو مختصر شکل میں دیکھنے کے لیے `–oneline` پرچم کے ساتھ `log` استعمال کریں گے۔ 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

پچھلی کمٹ پر واپس جانے کے لیے، ہم 'git revert' کمانڈ استعمال کرتے ہیں جس کے بعد کمٹ آئی ڈی آتی ہے۔ یہ پچھلی کمٹ کی تبدیلیوں کے ساتھ ایک نیا عہد پیدا کرتا ہے۔

$ git revert 8f184d5

کیا آپ GitHub پر اپنی پیداواری صلاحیت کو بڑھانا چاہتے ہیں؟ GitHub Code Spaces کے ساتھ، اب آپ اپنے کوڈ کو براہ راست اپنے براؤزر میں ایڈٹ اور چلا سکتے ہیں۔ 

اس خصوصیت تک رسائی حاصل کرنے کے لیے، بس اپنے پسندیدہ ریپوزٹری پر جائیں، اپنے کی بورڈ پر پیریڈ کلید (“.”) دبائیں، اور یہ آپ کو VSCode UI پر بھیج دے گا۔

 

10 اعلی درجے کی گٹ تکنیک
مصنف کی طرف سے تصویر
 

آپ کوڈ میں تبدیلیاں کر سکتے ہیں اور انہیں اپنے ریموٹ ریپوزٹری میں دھکیل سکتے ہیں۔ تاہم، اگر آپ کوڈ کو ٹرمینل میں چلانا چاہتے ہیں، تو آپ کو کلاؤڈ میں کوڈ اسپیس چلانے کی ضرورت ہے۔ مفت ورژن آپ کے براؤزر میں آپ کے Python کوڈ کو چلانے کے لیے ایک بہترین آپشن پیش کرتا ہے۔ کیا یہ زبردست نہیں ہے؟ مجھے آج ہی اس کے بارے میں پتہ چلا۔

 

10 اعلی درجے کی گٹ تکنیک
مصنف کی طرف سے تصویر

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

ہم ایک نام فراہم کرکے اور اسے چھپا کر اپنی موجودہ پیش رفت کو بچائیں گے۔ 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

آپ اپنی سٹیش لسٹ دیکھ سکتے ہیں اور اسے بازیافت کرنے کے لیے متعلقہ انڈیکس نوٹ کر سکتے ہیں۔

$ git stash list

 

stash@{0}: On master: new-idea

 

ہمارے "نئے آئیڈیاز" کا ذخیرہ انڈیکس 0 پر محفوظ کیا گیا ہے۔ اسے بازیافت کرنے کے لیے، یہ کمانڈ استعمال کریں:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

آپ کے پاس اپنی ڈیفالٹ برانچ کا نام بدل کر کسی اور مناسب چیز کا اختیار ہے۔ اس صورت میں، ہم "ماسٹر" کا نام بدل کر "مین" رکھیں گے۔ 

$ git branch -M main

 

10 اعلی درجے کی گٹ تکنیک
 

آپ درج ذیل کمانڈ کا استعمال کرتے ہوئے تبدیلیوں کی تصدیق کر سکتے ہیں: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

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

$ git log --graph --decorate --oneline

 

10 اعلی درجے کی گٹ تکنیک

کئی مواقع پر، میں نئی ​​برانچ میں جا چکا ہوں اور پچھلی برانچ کا نام بھول گیا ہوں۔ اس کے نتیجے میں، مجھے شاخ کے ناموں کی فہرست دیکھنے کے لیے `git branch -a` کمانڈ استعمال کرنا پڑی۔ تاہم، 'گٹ چیک آؤٹ' کمانڈ کے بعد ڈیش "-" استعمال کرکے اصل برانچ میں واپس جانے کا ایک آسان طریقہ ہے۔

ہم سب سے پہلے نئی Git برانچ "neo" بنائیں گے۔

$ git branch neo

 

ہم "neo" برانچ پر جائیں گے۔

$ git checkout neo

 

Switched to branch 'neo'

 

اصل برانچ پر واپس جانے کے لیے، ہم درج ذیل کمانڈ کا استعمال کریں گے۔

$ git checkout -

 

Switched to branch 'main'

ہم نے ریموٹ ریپوزٹری کو اوور رائیڈ کرنے کے بارے میں سیکھا ہے۔ آئیے سیکھتے ہیں کہ ریموٹ ریپوزٹری کا استعمال کرتے ہوئے لوکل ریپوزٹری کو کیسے اوور رائڈ کیا جائے۔

ہم ریموٹ ریپوزٹری سے تازہ ترین تبدیلیاں حاصل کرنے کے لیے 'fetch' کمانڈ استعمال کریں گے۔ 

$ git fetch origin

 

پھر، ہم ریموٹ ورژن کے ساتھ کسی بھی مقامی تبدیلی کو اوور رائیڈ کرنے کے لیے 'ہارڈ' پرچم کے ساتھ 'ری سیٹ' کمانڈ استعمال کریں گے۔ براہ کرم نوٹ کریں کہ یہ کسی بھی مقامی تبدیلی کو مستقل طور پر رد کر دے گا۔

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

اگر اب بھی غیر ٹریک شدہ فائلیں ہیں، تو انہیں درج ذیل کمانڈ کے ذریعے ہٹایا جا سکتا ہے۔

$ git clean -df

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

اس آرٹیکل میں، ہم نے Git کی جدید تکنیکوں کا احاطہ کیا ہے جو ڈیٹا سائنسدانوں اور سافٹ ویئر انجینئرز کے لیے اہم ہیں جو ڈیٹا پراجیکٹ پر کام کر رہے ہیں۔ ان تکنیکوں کو جاننے سے آپ کو حادثات سے بچنے اور مسائل کو بہت تیزی سے حل کرنے میں مدد مل سکتی ہے۔

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

عابد علی اعوان (@1abidaliawan) ایک سرٹیفائیڈ ڈیٹا سائنٹسٹ پروفیشنل ہے جو مشین لرننگ ماڈل بنانا پسند کرتا ہے۔ فی الحال، وہ مشین لرننگ اور ڈیٹا سائنس ٹیکنالوجیز پر مواد کی تخلیق اور تکنیکی بلاگ لکھنے پر توجہ دے رہا ہے۔ عابد کے پاس ٹیکنالوجی مینجمنٹ میں ماسٹر ڈگری اور ٹیلی کمیونیکیشن انجینئرنگ میں بیچلر ڈگری ہے۔ اس کا وژن دماغی بیماری کے ساتھ جدوجہد کرنے والے طلباء کے لیے گراف نیورل نیٹ ورک کا استعمال کرتے ہوئے ایک AI پروڈکٹ بنانا ہے۔

ٹائم اسٹیمپ:

سے زیادہ KDnuggets