تركاية الحصول على الملفات التي تم التعديل عليها بمساعدة Github

عزيييييزي ..
عايزك تتخيل معايا سيناريو بيحصل دايماً ..
وهو ان العميل يطلب منك شوية تعديلات ويديك بس بيانات الاستضافة ..
----
ولسبب ما المشروع غير مربوط ب Github بحيث انك تزامن الشغل بين جهازك و Github والاستضافة اللي عليها المشروع ..
----
فطبيعي بتاخد نسخة من الملفات عندك على الجهاز وتشغل المشروع ع جهازك عادي جدا وتبدأ تشتغل ع المشروع وآخر م تخلص بتبدأ تدي العميل كل ملفات المشروع مرة تانية ..
--------------
طيب تخيل معايا يا عزيزي يكون المشروع مثلاً 250 ميجا ..
وكل فترة يطلب منك العميل تعديلات معينة .
يا اما تبعت للعميل المشروع علشان تضمن انك مش ناسي ملف عدلت عليه ..
أو إنك تجمع الملفات اللي اشتغلت عليها وتبعتهاله ..
وهنا بتيجي المشكلة اللي كانت بتواجهني أنا شخصياً .
ان أحياناً فيه ملفات معينة بعدل عليها .. وبنسى اني عدلت عليها أساساً ف ببعت للعميل الملفات أللاقي فيه مشكلة ..
ف أروح باعت للعميل ملف كمان وأكتشف اني نسيت ملف كمان وهكذا ..
سيناريو سخيف جداً كان بيواجهني ..
إلى أن عرفت تركاية حابب أشاركها معاك يا عزيزي ..
-------------
التركاية بكل بساطة يا عزيزي ..
إنك هتعمل repo للمشروع على github وتبدأ تشتغل عادي جداً ..
وكل م تعمل تعديل ارفعه عادي على Github ..
وبعد م تخلص خالص تقدر بكل بساطة انك تستخرج الملفات اللي انت عدلت عليها كلها (مترتبة جوه الفولدرات بتاعتها)  وجاهزة في ملف zip .. 


ودا بكل بساطة عن طريق الأمر دا 

zip modified-files.zip $(git show --pretty="format:" --name-only FIRST_COMMIT_CODE..LAST_COMMIT_CODE  | sort | uniq)

كل اللي هتعمله هتستبدل FIRST_COMMIT_CODE و LAST_COMMIT_CODE بكود أول وآخر commit انت عايز تجيب الملفات اللي اتغيرت بينهم ... وهيطلعلك ملف modified-files.zip فيه كل الملفات اللي انت اشتغلت عليها بس ..
وبكدا بدل م تبعت للعميل أو حتى ترفع ع الاستضافة ملف حجمه 250 ميجا ..
هترفع ملف حجمه 500 كيلوبايت مثلاً .. بدون م تيجي عند الملفات التانية ..


ازاي تجيب الملفات بعد أول commit 

zip modified-files.zip $(git show --pretty="format:" --name-only FIRST_COMMIT_CODE..  | sort | uniq)

ازاي تجيب الملفات قبل commit معين

zip modified-files.zip $(git show --pretty="format:" --name-only LAST_COMMIT_CODE..  | sort | uniq)

ازاي بقى تجيب كود ال commit ؟

--------
لو عايز تشوف ازاي تجيب كل الملفات في كل الأوقات ..
أو عايز تجيب كل الملفات اللي تمت قبل وقت معين أو بعد وقت معين .. أو أو إلخ 
هتلاقيها هنا 
https://peterayoub.me/article/get-modified-files-for-ftp-using-git
ولو حابب تشوف شفرات أكتر من دي هتلاقيها هنا ..
https://www.notion.so/peterayoub/UseFull-Commands-3716a5ef0e4f4f52846d22abe7e333da
ولو حابب تشوف تركات أكتر هتلاقيها هنا .
https://peterayoub.me/blog
#نصائح_مطوري_الويب


مهندس حاسبات وذكاء اصطناعي، مؤسس منصة نفذلي.

شاركنا رأيك

بريدك الالكتروني لن يتم نشره.