گٹ دو شاخوں کا موازنہ کریں۔

Git Compare Two Branches



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

C00 => C01 => C03 => C06 (ماسٹر)







۔



C02 => C04 => C05 (ترقی)



مندرجہ ذیل اقدامات کئے گئے:





  • C00: شامل کر دیا گیا hello_world.py (ماسٹر برانچ)
  • - ترقیاتی شاخ بنائی۔
  • C01: دوسرا ہیلو (ماسٹر برانچ) شامل کرنے کے لیے ترمیم شدہ hello_world.py
  • C02: ڈویلپمنٹ برانچ کو شامل کرنے کے لیے ہیلو_ورلڈ ڈاٹ پی میں ترمیم کی گئی ہے۔
  • C03: readme.txt شامل کیا گیا (ماسٹر برانچ)
  • C04: ڈویلپمنٹ برانچ کو شامل کرنے کے لیے ترمیم شدہ hello_world.py کہتی ہے دوبارہ ہیلو (ڈویلپمنٹ برانچ)
  • C05: شامل کر دی گئی info.txt (ترقیاتی شاخ)
  • C06: دوسری لائن (ماسٹر برانچ) شامل کرنے کے لیے ترمیم شدہ readme.txt

تمام وعدوں کے بعد ، 'ماسٹر' برانچ میں درج ذیل فائلیں ہیں:

hello_world.py
readme.txt



اور 'ترقی' برانچ میں درج ذیل فائلیں ہیں:

hello_world.py
info.txt


دو شاخوں کے سروں کا موازنہ کرنا۔

آپ دو شاخوں کے سربراہوں کا موازنہ کرنے کے لیے شاخوں کا نام استعمال کر سکتے ہیں:

$git diffماسٹر .. ترقی

فرق --جاؤکو/hello_world.py b/hello_world.py
انڈیکس e27f806..3899ed3100644۔
---کو/hello_world.py
+++ ب۔/hello_world.py
۔-،+، ۔

ڈیف مین۔():
پرنٹ کریں(پہلے ہیلو!)
- پرنٹ کریں('دوسرا ہیلو!')
-
+ پرنٹ('ترقیاتی شاخ ہیلو کہتی ہے')
+ پرنٹ('ڈویلپمنٹ برانچ ایک بار پھر ہیلو کہتی ہے')
اگر__ نام__ =='__مرکزی__':
مرکزی()
فرق --جاؤکو/info.txt b/info.txt
نئیفائلموڈ100644۔
انڈیکس 0000000..0ab52fd
--- /دیو/خالی
+++ ب۔/info.txt
۔-،+ ۔
+نئی معلومات۔
فرق --جاؤکو/readme.txt b/readme.txt
حذف کر دیافائلموڈ100644۔
انڈیکس e29c296..0000000
---کو/readme.txt
+++۔/دیو/خالی
۔-،+، ۔
-1۔readme.txt کی پہلی لائن۔
-2۔readme.txt کی دوسری لائن۔

diff کمانڈ بار بار تبدیلیوں کو دیکھ رہی ہے۔ اس نے مندرجہ ذیل اختلافات چلائے ہیں:

diff –git a/hello_world.py b/hello_world.py
diff –git a/info.txt b/info.txt۔
diff –git a/readme.txt b/readme.txt۔

یہاں 'a' کا مطلب ہے 'ماسٹر' برانچ اور 'b' کا مطلب ہے ڈویلپمنٹ برانچ۔ 'a' ہمیشہ پہلے پیرامیٹر اور 'b' کو دوسرے پیرامیٹر پر تفویض کیا جاتا ہے۔ /dev /null کا مطلب ہے کہ برانچ میں فائل نہیں ہے۔


وعدوں کے درمیان موازنہ۔

ہماری مثال میں ، 'ماسٹر' برانچ کے درج ذیل وعدے ہیں:

$گٹ کی حیثیت
برانچ ماسٹر پر۔
کام کرنے کے لیے کچھ نہیں ، کام کرنے والی ڈائریکٹری صاف ہے۔

$گٹ لاگ --ایک لکیر
caa0ddd C06: ترمیم شدہ readme.txt دوسری لائن شامل کرنے کے لیے۔(ماسٹر برانچ)
efaba94 C03: readme.txt شامل کیا گیا۔(ماسٹر برانچ)
ee60eac C01: دوسرا ہیلو شامل کرنے کے لیے نظر ثانی شدہ hello_world.py۔(ماسٹر برانچ)
22b4bf9 C00: hello_world.py شامل کیا گیا۔(ماسٹر برانچ)

ترقیاتی شاخ کے درج ذیل وعدے ہیں:

$گٹ کی حیثیت
برانچ ڈویلپمنٹ پر
کام کرنے کے لیے کچھ نہیں ، کام کرنے والی ڈائریکٹری صاف ہے۔

$گٹ لاگ --ایک لکیر
df3a4ee C05: info.txt شامل کیا گیا۔(ترقیاتی شاخ)
0f0abb8 C04: ڈویلپمنٹ برانچ کو شامل کرنے کے لیے ترمیم شدہ hello_world.py دوبارہ ہیلو کہتی ہے۔(ترقیاتی شاخ)
3f611a0 C02: ڈویلپمنٹ برانچ کو شامل کرنے کے لیے ترمیم شدہ hello_world.py ہیلو کہتی ہے۔(ترقیاتی شاخ)
22b4bf9 C00: hello_world.py شامل کیا گیا۔(ماسٹر برانچ)

فرض کریں کہ ہم C01 اور C02 کمیٹس کے لیے hello_world.py کا موازنہ کرنا چاہتے ہیں۔ آپ ہیش کا موازنہ کرنے کے لیے استعمال کر سکتے ہیں:

$git diffee60eac: hello_world.py 3f611a0: hello_world.py۔

فرق --جاؤکو/ee60eac: hello_world.py b/3f611a0: hello_world.py۔
انڈیکس e27f806..72a178d100644۔
---کو/ee60eac: hello_world.py۔
+++ ب۔/3f611a0: hello_world.py۔
۔-،+، ۔

ڈیف مین۔():
پرنٹ کریں(پہلے ہیلو!)
- پرنٹ کریں('دوسرا ہیلو!')
+ پرنٹ('ترقیاتی شاخ ہیلو کہتی ہے')

اگر__ نام__ =='__مرکزی__':
مرکزی()

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


بصری انضمام کے اوزار

متن پر مبنی موازنہ کو دیکھنا مشکل ہوسکتا ہے۔ اگر آپ گٹ سیٹ کرتے ہیں۔ difftool بصری انضمام کی درخواست کے ساتھ۔ DiffMerge یا BeyondCompare ، آپ اختلافات کو بہتر طور پر دیکھ سکیں گے۔

مزید پڑھائی:

حوالہ جات: