گرفتن تغییرات به راحتی آب خوردن (git patch)

جالبی گیت اینه که هر چقدر هم که بیشتر یادش میگیری، باز هم چیزهای جالبی توش پیدا میشه. کلا توی دنیای اپن‌سورس و محصولاتی که تو این فضا توسعه داده میشند، میشه خلاقیت‌های زیادی رو دید، چون هر کسی با هر ایده‌ و هر نیازی میتونه مشارکت داشته باشه. از مبحث اصلی دور نشیم.

دیروز از یکی از همکارها، چیز جدیدی رو یاد گرفتم و اون هم استفاده از ابزار patch در گیت بود.


ماجرا از اینجا شروع شد که روی سیستم یکی از همکارها، یک سری تغییرات روی کد داده بودیم و نمی‌خواستیم که این تغییرات توسط اون شخص کامیت بشه، چون مسئول اون قسمت از کدها من بودم و باید توی برنچ خودم کامیتش می‌کردم. برای همین این همکار خوب پیشنهاد داد از ابزار patch توی گیت استفاده کنیم. من که اولین بار بود این اسم رو میشنیدم، برام جالب بود که چی هست اصلا.

خلاصه اینکه با یک دستور میشه از تغییراتی که هست یک فایل خروجی گرفت و اون رو، روی یک سیستم دیگه و با یک دستور روی پروژه اعمال کرد. به همین راحتی.

برای گرفتن patch میشه از دستور زیر استفاده کرد:

https://gist.github.com/nasrabadiAM/6260a702dbc5eb784bb027ff74ae66c1

و برای اعمال این patch هم میتونید از دستور زیر استفاده کنید:

https://gist.github.com/nasrabadiAM/9e3e1bc588aea7938d0924bff8ab5746


معمولا ابزارهایی که استفاده می‌کنیم، این قابلیت‌ها رو توی خودشون دارند. مثلا اگر مثل من از خانواده ابزارهای Intelij مثل Android Studio استفاده می‌کنید، می‌تونید از تب VCS این گزینه رو پیدا کنید.