سؤال

هل يوجد خيار --staged (المعروف أيضًا باسم --cached) لمقارنة الملفات من مخبأ git؟

أقوم هنا بمقارنة الالتزام الأحدث مع ملف مرحلي (أستخدم صياغة @{} الصريحة، ولكني أعلم أنه يمكن استنتاج @{0}):

git diff stash@{0}:spec/blueprints.rb HEAD:spec/blueprints.rb

وهنا أقوم بمقارنة الملف المخبأ مع ما هو موجود على القرص:

git diff stash@{0}:spec/blueprints.rb spec/blueprints.rb

كيف يمكنني مقارنة ما تم تنظيمه حاليًا مع ما هو موجود في المخبأ؟هذا لا يعمل:

git diff --staged stash@{0}:spec/blueprints.rb spec/blueprints.rb
هل كانت مفيدة؟

المحلول

git diff --cached 'stash@{0}' -- spec/blueprints.rb

...من الممكن ألا تكون هناك حاجة إلى عروض الأسعار، لكنك لا تعرف أبدًا كيف يمكن أن تفاجئك قوقعتك.

نصائح أخرى

:<n>:<path>, e.g. :0:README, :README

تقوم النقطتان، متبوعتين اختياريًا برقم المرحلة (0 إلى 3) والنقطتين، متبوعتين بمسار، بتسمية كائن ثنائي كبير الحجم في الفهرس في المسار المحدد.رقم المرحلة المفقود (والنقطتان اللتان تتبعانه) يسميان إدخال المرحلة 0.أثناء الدمج، تكون المرحلة 1 هي السلف المشترك، والمرحلة 2 هي إصدار الفرع المستهدف (عادةً الفرع الحالي)، والمرحلة 3 هي الإصدار من الفرع الذي يتم دمجه.

من مساعدة git rev-parse

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