این راهنما یک مرور کلی برای استفاده از یک پچ به یک برنامه یا فایل فراهم می کند.
فرمان مورد استفاده برای استفاده از تکه ها دستور دستور patch است اما برای استفاده از patch باید دستور diff را نیز برای عرضه تفاوت هایی که باید لایک شده باشد مورد استفاده قرار می دهد.
چرا پچ را ایجاد می کنید؟
تصور کنید که یک فایل HTML به صورت زیر داشته باشید:
head>
خوش آمدید به MySite h1>
body>
html>
منبع فوق زمانی که به مرورگر وب بارگذاری می شود، کلمات "به MySite خوش آمدید" را نشان می دهد.
در هنگام برنامه ریزی برای چندین نسخه از یک فایل معمول، رایج است. به عنوان مثال یک نسخه وجود دارد که نسخه فعلی زنده است، یک نسخه دیگر در شاخه توسعه وجود دارد که ممکن است شامل چندین تغییر باشد، در نهایت ممکن است نسخه دیگری در شاخه انتشار وجود داشته باشد.
شاخه انتشار، نسخه ای است که توسط کاربران واقعی استفاده می شود (یعنی در این مورد بازدید کننده وب سایت MySite). بگذارید بگوییم MySite در نسخه 1.0 است. پس از یک مرحله توسعه، یک شعبه انتشار ایجاد خواهید کرد که در این مورد 1.1 است. شاخه توسعه می تواند جلوتر از شعبه انتشار باشد، زیرا ممکن است حاوی تغییراتی باشد که در نسخه 1.2 برای نسخه منتشر نشده است، اما نسخه 1.1 خواهد بود.
تصور کنید یک اشکال وجود داشت که MySite باید YourSite نامیده شود. شما میتوانید به نوبه خود به هر شاخه بروید و تغییرات را در نسخه زنده، نسخه توسعه و نسخه آزمایشی خود انجام دهید، می توانید این تغییر را به عنوان یک اصلاحیه داغ در زندگی انجام دهید و سپس پچ را برای توسعه و انتشار شاخه ها اعمال کنید.
نمونه کار
یک فایل با نام myfile.html با کد زیر در آن ایجاد کنید:
head>
خوش آمدید به MySite h1>
این یک مثال کارآمد از کد منبع است. p>
body>
html>
یک فایل دیگر به نام myfile_v2.html با کد زیر در آن ایجاد کنید:
head>
خوش آمدید به YourSite h1>
این یک مثال کارآمد از کد منبع است. p>
body>
html>
اولین فایل اصلی صفحه اصلی با عنوان "خوش آمدید به MySite" است. فایل دوم همان فایل اول است، به جز MyFile به YourFile در متن تغییر نام داده است.
چگونه فایل Diff را ایجاد کنیم
برای ایجاد پچ لازم است تفاوت بین myfile.html و myfile_v2.html ایجاد شود.
ما می توانیم این کار را با دستور diff انجام دهیم به شرح زیر است:
diff -u myfile.html myfile_v2.html> myfile.patch
شما می توانید فایل myfile.patch را در ویرایشگر nano به صورت زیر به منظور مشاهده آن باز کنید:
نانو myfile.patch
خطوط بدون تغییر در آبی نشان داده شده است. خطهایی که حذف شده اند در قرمز نشان داده شده و خطوط اضافه شده در سبز نشان داده شده است.
چگونگی اعمال پچ با استفاده از دستور پچ
برای اعمال patch به myfile.html از دستور زیر استفاده کنید:
patch این تغییرات ایجاد شده با استفاده از دستور diff به فایل myfile.html ایجاد می شود. اگر میخواهید پچ را به عقب برگردانید تا myfile.html به نحوی که در ابتدا از دستور زیر استفاده کرد استفاده شود: patch-R فرمان patch می تواند برای تکه کردن در یک ساختار دایرکتوری کل استفاده شود. ابزارهای بسیار بهتر از دستور patch برای ایجاد تکه ها و حصول اطمینان از کنترل منبع مناسب وجود دارد. دلیل این است که بسیاری از پروژه های توسعه از GIT برای کنترل منبع استفاده می کنند. GIT آسان ساختن یک استراتژی انعطاف پذیر را ایجاد می کند. دستور patch برای اعمال تفاوت به یک اسکریپ bash یا چیزی ساده است اما شما می توانید به آسانی یک کپی پشتیبان از فایل هایی را که می خواهید پچ کنید ایجاد کنید و فقط فایل های جدید را در همان مکان کپی کنید. برای اطلاعات بیشتر از دستور man استفاده کنید: مرد پچ چگونه یک پچ را بازگردانیم
خلاصه