Git قارن: طريقة سريعة للمقارنة بين فرعين

اليوم أريد أن أشارككم نصًا صغيرًا من برنامج باش كنت أستخدمه بنجاح لعدة سنوات حتى الآن.



بادئ ذي بدء ، سوف أصف موقفًا غالبًا ما يحدث لي حتى يومنا هذا ، والذي دفعني لكتابة سيناريو. أثناء العمل على مهمة جديدة ، أقوم بشكل دوري بحفظ الحالة الحالية للمشروع في gita ، في حين أن الالتزامات نفسها لا تحمل أي عبء دلالي ، سواء في المحتوى أو في رسائل الالتزام.



نتيجة لذلك ، يبدو الفرع المحلي للمهمة المنتهية كما يلي:



صورة



المرحلة التالية تأتي:



1) (feature-all-private )



صورة



2) (feature-public ):



صورة



: , , (- , )



صورة



: , — git-cmp

— bash- .

"" (feature-private) "" (feature-public):



git checkout feature-public
git cmp feature-private


, :



 $ git cmp feature-private                                                       
common parent commit: 758d3fa                  
cleaning...                                                                     
...done


git-diff:



 $ git cmp feature-private
common parent commit: 758d3fa
diff --git a/test.txt b/test.txt
index 1e65656..2013c09 100644
--- a/test.txt
+++ b/test.txt
@@ -1,4 +1,4 @@
-oldLine
+newLine
cleaning...
...done


, :



صورة



آمل أن يكون هذا البرنامج النصي مفيدًا لشخص آخر.

تم إنشاء المصادر التي تم تحميلها على github

Pictures باستخدام codepen.io



تحديث: اتضح أن هذه الوظيفة قد تم تنفيذها بالفعل في مجموعة git القياسية وتسمى git-diff




All Articles