سؤال

استخدام إجابة كريس في سؤال آخر ، يمكنني تقديم تاريخ لقطة لمستودع GIT الخاص بي. نظرًا لأن أحد الملفات ليس جزءًا من تاريخي ولكن فقط في اللقطات ، فإن الالتزام الأصلي الأول الآن يحتوي أيضًا على حذف هذا الملف. كيف يمكنني التراجع عن ذلك؟

في البداية اعتقدت أن هذا كان عكس كيف يمكنني إزالة الملفات الحساسة من تاريخ Git, ، لكن في الواقع لا أريد إدراج ملف في التاريخ ولكن فقط قم بإزالة الحذف من التاريخ.

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

المحلول 2

حصلت عليه:

git tag originalHead # just in case
git rebase -i <id of the parent of the commit that deleted the file>
# change pick to edit for that commit
git checkout <id of the previous commit> <filename> # thanks for reminding, kubi
git commit --amend
git rebase --continue
git tag -d originalHead

تعديل لسوء الحظ ، سيترك هذا كل العلامات في الجدول الزمني القديم ، انظر هنا

نصائح أخرى

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