بوابة إزالة فقط دفع الالتزام المحلي الماضي

StackOverflow https://stackoverflow.com//questions/21026467

  •  21-12-2019
  •  | 
  •  

سؤال

لقد جعلت مجموعة من التغييرات على بلدي نسخة جيت المحلية من مشروع القضبان التي لا أريد أن تفقد ، ولكن في القيام بذلك ، أنا خلقت بطريق الخطأ البائع / الباقة مجلد في بوابة.

أدركت بمجرد أن ارتكبت أنني فعلت هذا وفعلت جيت آرإم للمجلد (وأضاف المجلد إلى جيتينور) ، وارتكبت مرة أخرى.ومع ذلك ، لا يمكنني الآن دفع النسخة الأصلية لأن الحزمة كبيرة جدا.

ما أحتاج

  • كيف يمكنني الاحتفاظ بالتعديلات (والملفات الجديدة) التي قمت بها.
  • أثناء إزالة مجلد الحزمة من محفوظات البوابة
  • وعدم دفع هذا الالتزام معهم لأن الدليل كبير جدا

لقد كنت أبحث عن طرق مختلفة لإعادة الضبط الناعم هنا ، لكنني عالق..

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

المحلول

يمكنك القيام بأجيال git reset --soft HEAD~x حيث x هو عدد المراجعة التي تريد إعادة تعيينها - 2 في حالتك، ثم قم بإضافة الدليل إلى ملف Gitignore وأيضا إزالته من المنطقة المنظمة.

نصائح أخرى

أعتقد أنني وجدت الجواب:

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

المصدر:

git filter-branch --tree-filter 'rm -f /vendor/bundle' HEAD

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