سؤال

ما هي أفضل أداة لعرض الدمج وتحريره في Git؟أرغب في الحصول على عرض دمج ثلاثي الاتجاهات، مع "ملكي" و"ملكهم" و"سلفهم" في لوحات منفصلة، ​​ولوحة "إخراج" رابعة.

أيضًا، ستكون تعليمات استدعاء الأداة المذكورة رائعة.(ما زلت لا أعرف كيفية بدء kdiff3 بطريقة لا تعطيني خطأ.)

نظام التشغيل الخاص بي هو Ubuntu.

هل كانت مفيدة؟

المحلول

امزج هي أداة فرق/دمج.

وإليك كيفية تثبيته على:

نصائح أخرى

يمكنك تكوين أداة الدمج الخاصة بك لاستخدامها مع "git mergetool".

مثال:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

وأثناء قيامك بذلك، يمكنك أيضًا إعداده كأداة نشر لـ "git difftool":

  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

لاحظ أنه في Unix/Linux لا تريد $BASE ليتم تحليله كمتغير بواسطة الصدفة الخاصة بك - يجب أن يظهر فعليًا في ملف ~/.gitconfig الخاص بك حتى يعمل هذا.

ما وراء المقارنة 3, ، المفضل لدي، لديه دمج الوظيفة في الطبعة الموالية.والشيء الجيد في عملية الدمج هو أنه يتيح لك رؤية جميع طرق العرض الأربعة:النتيجة الأساسية واليسار واليمين والدمج.إنها أقل بصرية إلى حد ما من P4V ولكن أكثر بكثير من WinDiff.هو - هي يتكامل مع العديد من التحكم بالمصادر ويعمل على نظام التشغيل Windows/Linux.يحتوي على العديد من الميزات مثل القواعد المتقدمة والإصدارات والمحاذاة اليدوية ...

العميل البصري Perforce (P4V) هي أداة مجانية توفر واحدة من أكثر الواجهات وضوحًا للدمج (انظر بعض لقطات الشاشة).يعمل على جميع المنصات الرئيسية.خيبة أملي الرئيسية مع هذه الأداة هي نوعها واجهة "للقراءة فقط"..لا يمكنك تحرير الملفات يدويًا ولا يمكنك محاذاتها يدويًا.

ملاحظة:تم تضمين P4Merge في P4V.تحاول Perforce أن تجعل من الصعب بعض الشيء الحصول على أدواتهم بدون عميلهم.

SourceGear فرق/دمج قد يكون خياري الثاني للأداة المجانية.تحقق من هذا الدمج لقطات الشاشة وسترى أنها حصلت على 3 مشاهدات على الأقل.


امزج هي أداة مجانية أحدث أفضّلها SourceGear فرق/دمج:وهو يعمل الآن أيضًا على معظم الأنظمة الأساسية (Windows/Linux/Mac) مع ميزة مميزة تتمثل في دعم بعض عناصر التحكم بالمصادر مثل شخص سخيف.لذلك يمكنك الحصول على بعض الاختلافات التاريخية في جميع الملفات بشكل أسهل.عرض الدمج (انظر لقطة شاشة) يحتوي على 3 أجزاء فقط، تمامًا مثل SourceGear فرق/دمج.وهذا يجعل الدمج أكثر صعوبة إلى حد ما في الحالات المعقدة.

ملاحظة:إذا كانت أداة واحدة تدعم يومًا ما دمج 5 مشاهدات, ، سيكون هذا رائعًا حقًا، لأنه إذا قمت باختيار الالتزامات في Git، فلن يكون لديك قاعدة واحدة بل اثنتين.قاعدتان وتغييران ودمج واحد ناتج.

أداة الدمج المرئي المفضلة لدي هي SourceGear DiffMerge

  • إنه مجاني.
  • عبر الأنظمة الأساسية (Windows وOS X وLinux).
  • واجهة مستخدم مرئية نظيفة
  • جميع الميزات المختلفة التي تتوقعها (Diff، Merge، Folder Diff).
  • واجهة خط الأوامر.
  • اختصارات لوحة المفاتيح القابلة للاستخدام.

User interface

أسمع أشياء جيدة عن kdiff3.

com.vimdiff

بمجرد أن تتعلم vim (ويجب أن تتعلم IMHO)، فإن vimdiff هو مجرد مفهوم متعامد صغير جميل يجب تعلمه.للحصول على مساعدة عبر الإنترنت في vim:

:help vimdiff 

يغطي هذا السؤال كيفية استخدامه: كيف يمكنني استخدام vimdiff لحل التعارض؟

enter image description here

إذا كنت عالقًا في العصور المظلمة لاستخدام الماوس، والملفات التي تقوم بدمجها ليست كبيرة جدًا، فإنني أوصي بـ meld.

يمكنك المحاولة P4Merge.

تصور الاختلافات بين إصدارات الملفات باستخدام P4Merge.حل النزاعات الناتجة عن التطوير المتوازي أو المتزامن عبر الترميز اللوني.

وتشمل الميزات:

  • تسليط الضوء على الاختلافات في الملفات النصية وتحريرها
  • اختر تضمين أو تجاهل نهايات الأسطر أو المسافات البيضاء
  • التعرف على اصطلاحات نهاية السطر لنظام التشغيل Windows (CRLF)، وMac (CR)، وUnix (LF)
  • استخدم معلمات سطر الأوامر وابدأ التشغيل من تطبيقات غير Perforce
  • عرض أرقام الأسطر عند مقارنة الملفات ودمجها
  • استبعاد الملفات المعدلة أو الفريدة أو التي لم تتغير
  • تصفية الملفات حسب الاسم أو الامتداد
  • تنظيم الأصول المعدلة في التسلسل الهرمي للملفات/المجلدات المألوفة
  • قارن بين JPEG وGIF وTIFF وBMP وتنسيقات الملفات الأخرى
  • قم بالتوسيع باستخدام Qt API
  • تراكب الصور أو عرضها جنبًا إلى جنب
  • تسليط الضوء على الاختلافات في الصور المتراكبة

فكرة إنتيليج لديه متطورة دمج أداة حل النزاعات باستخدام عصا Resolve السحرية، التي تسهل عملية الدمج إلى حد كبير:

Source: https://blog.jetbrains.com/dotnet/2017/03/13/rider-eap-update-version-control-database-editor-improvements/

منتشر هو المفضل لدي ولكن بالطبع أنا متحيز.:-) إنه سهل الاستخدام للغاية:

$ diffuse "mine" "output" "theirs"

Diffuse هي أداة صغيرة وبسيطة لدمج النصوص مكتوبة بلغة Python.باستخدام Diffuse، يمكنك بسهولة دمج التغييرات التي تم إجراؤها على التعليمات البرمجية الخاصة بك وتحريرها ومراجعتها.منتشر هو البرمجيات الحرة.

دمج أراكسيس http://www.araxis.com/mergeأنا أستخدمه على نظام التشغيل Mac OS X ولكني أستخدمه على نظام التشغيل Windows ...انها ليست مجانية...ولكن لديها بعض ميزات جميلة...أجمل على النوافذ رغم ذلك.

إذا كنت تبحث فقط عن أداة فرق تتجاوز المقارنة فهي رائعة جدًا: http://www.scootersoftware.com/moreinfo.php

يمكنك تغيير الأداة المستخدمة بواسطة git mergetool بالتمرير git mergetool -t=<tool> أو --tool=<tool>.لتغيير الاستخدام الافتراضي (من vimdiff). git config merge.tool <tool>.

لذلك بالنسبة لدمج git، يمكنك تجربة:

  • DiffMerge لمقارنة الملفات ودمجها بشكل مرئي على أنظمة التشغيل Windows وOS X وLinux.

    DiffMerge

  • امزج, ، هي أداة للفرق والدمج البصري.

    Meld is a visual diff and merge tool

  • KDiff3, ، برنامج فرق ودمج)، الذي يقارن أو يدمج 2 أو 3 ملفات/ديرات إدخال نصية.
  • opendiff (جزء من أدوات Xcode على نظام التشغيل macOS)، وهي أداة مساعدة لسطر الأوامر تقوم بتشغيل تطبيق FileMerge من الوحدة الطرفية لمقارنة الملفات أو الدلائل بيانيًا، بما في ذلك دمج.

لقد جربت الكثير من الأدوات المذكورة هنا ولم يكن أي منها هو ما أبحث عنه تمامًا.

شخصيا، لقد وجدت ذرة لتكون أداة عظيمة لتصور الاختلافات وحل النزاعات/الدمج.

أما بالنسبة للدمج، فلا توجد ثلاث طرق عرض ولكن يتم دمجها جميعًا في عرض واحد مع تمييز ملون لكل إصدار.يمكنك تعديل الكود مباشرة أو هناك أزرار لاستخدام أي إصدار تريده من هذا المقتطف.

لم أعد أستخدمه كمحرر أو IDE بعد الآن، فقط للعمل مع git.واجهة مستخدم نظيفة ومباشرة للغاية، بالإضافة إلى أنها قابلة للتخصيص بدرجة كبيرة.

  • يمكنك بدء تشغيله من سطر الأوامر وتمريره في ملف واحد تريد فتحه ، أو إضافة مجلد المشروع الخاص بك (Git Repo).

    • وأود أن أوصي أيضا مدير المشروع كوسيلة مريحة للغاية للتنقل بين المشاريع دون ملء عرض الشجرة الخاص بك.
  • المشكلة الوحيدة التي أواجهها هي التحديث - عند العمل مع مستودعات كبيرة، يمكن أن تكون الذرة بطيئة في تحديث التغييرات التي تجريها خارجها.أنا فقط أغلقه دائمًا عند الانتهاء، ثم أعيد فتحه عندما أرغب في عرض التغييرات/الالتزام مرة أخرى.يمكنك أيضًا إعادة تحميل النافذة باستخدام ctrl+shift+f5، الأمر الذي يستغرق ثانية واحدة فقط.

وهو مجاني بالطبع.

يمكنك التثبيت أداة فرق/دمج ECMerge على نظام التشغيل Linux أو Mac أو Windows.تم تكوينه مسبقًا في Git، لذلك استخدمه فقط git mergetool سوف يقوم بهذه المهمة.

أستخدم أدوات مختلفة للدمج والمقارنة:

git config --global diff.tool diffuse
git config --global merge.tool kdiff3

يمكن استدعاء القبضة بواسطة:

git difftool [BRANCH] -- [FILE or DIR]

يتم استدعاء الثاني عند الاستخدام git mergetool.

إذا كنت تستخدم استوديو مرئي, تعد أداة Team Explorer المضمنة أداة رائعة جدًا لحل تعارضات دمج git.

gitx http://gitx.frim.nl/

بعض الأخطاء عند العمل مع مجموعات التزام كبيرة ولكنها رائعة لتصفح التغييرات واختيار تغييرات مختلفة للمسرح ثم الالتزام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top