이 안내서는 프로그램이나 파일에 패치를 적용하기위한 기본 개요를 제공합니다.
패치 적용에 사용되는 명령은 patch 명령이지만 패치를 적용 하려면 diff 명령 을 사용하여 패치해야하는 차이점을 제공해야합니다.
왜 패치를 만들겠습니까?
HTML 파일 이 다음과 같이 있다고 가정 해보십시오.
head>
MySite에 오신 것을 환영합니다. h1>
body>
html>
위 소스는 웹 브라우저에로드 될 때 "Welcome to 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>
첫 번째 파일은 "Welcome to MySite"라는 제목의 원본 웹 페이지입니다. 두 번째 파일은 MyFile이 텍스트의 YourFile로 이름이 바뀌는 것을 제외하고 첫 번째 파일과 동일합니다.
차이점 파일을 만드는 방법
패치를 만들려면 myfile.html과 myfile_v2.html의 차이점을 해결해야합니다.
다음과 같이 diff 명령을 사용하여이를 수행 할 수 있습니다.
diff -u myfile.html myfile_v2.html> myfile.patch
다음과 같이 nano 편집기 에서 myfile.patch 파일을 열어 볼 수 있습니다.
nano myfile.patch
변경되지 않은 선은 파란색으로 표시됩니다. 제거 된 선은 빨간색으로 표시되고 추가 된 선은 녹색으로 표시됩니다.
패치 명령을 사용하여 패치를 적용하는 방법
myfile.html에 패치를 적용하려면 다음 명령을 사용하십시오.
패치 이렇게하면 diff 명령을 사용하여 작성된 변경 사항이 원본 파일 myfile.html에 적용됩니다. myfile.html이 원래대로 돌아가도록 패치를 되돌리려면 다음 명령을 사용하십시오. 패치 -R patch 명령은 전체 디렉토리 구조에 패치를 적용하는 데 사용할 수 있습니다. 패치를 작성하고 좋은 소스 제어를 보장하는 patch 명령보다 훨씬 우수한 도구가 있습니다. 많은 개발 프로젝트가 소스 제어를 위해 GIT를 사용하는 이유가 있습니다. GIT를 사용하면 일관된 분기 전략을 쉽게 작성할 수 있습니다. patch 명령은 차이점을 bash 스크립트 또는 간단한 것으로 적용하는 데는 좋지만 패치 할 파일의 백업 복사본을 쉽게 만들고 같은 위치에 새 파일을 복사하기 만하면됩니다. 자세한 내용은 man 명령을 사용하십시오. 남자 패치 패치 되돌리기
개요