Programming

git patch 만들기와 적용하기

느리게 걷는 즐거움 2024. 7. 24. 21:02
반응형

Git Patch 만들기와 적용하기

Git patch는 특정 커밋의 변경 사항을 파일로 저장하여 다른 저장소에 적용할 수 있도록 하는 유용한 기능입니다. 이를 통해 협업 시 변경 사항을 쉽게 공유하고 적용할 수 있습니다. 이 글에서는 Git patch를 만드는 방법과 적용하는 방법을 단계별로 설명하겠습니다.

Git Patch란?

Git patch는 커밋의 변경 사항을 파일로 저장한 것입니다. 이 파일은 다른 저장소에 적용할 수 있어, 변경 사항을 쉽게 공유할 수 있습니다. 이는 특히 이메일을 통해 패치를 주고받는 경우에 유용합니다.

 

Git patch를 만드는 방법은 여러 가지가 있습니다. 주로 사용하는 두 가지 방법을 소개합니다.

 

1. 특정 커밋의 패치 만들기

특정 커밋의 변경 사항을 패치로 만들려면 다음 명령어를 사용합니다:

git format-patch -1 <커밋해시>

예를 들어, `abc1234` 커밋의 패치를 기준으로 1개의 commit을 패치로 만드는 경우

git format-patch -1 abc1234

이 명령어를 실행하면 `0001-커밋메시지.patch` 파일이 생성됩니다. format-patch 후에는 `abc1234` commit이전으로 몇개의 commit을 patch로 만들지 결정합니다.

예제에서는 한개의 commit만 패치로 변경하기 위해서 -1을 사용했습니다.

 

2. 여러 커밋의 패치 만들기

여러 커밋의 변경 사항을 패치로 만들려면 다음 명령어를 사용합니다:

git format-patch <시작해시>..<끝해시>

예를 들어, `abc1234` 커밋부터 `def5678` 커밋까지의 패치를 만들려면:

git format-patch abc1234..def5678

이 명령어를 실행하면 각 커밋마다 개별 패치 파일이 생성됩니다.

 

Git Patch 적용하기

 

Git patch를 적용하려면 `git apply` 명령어를 사용합니다. 다음 단계에 따라 패치를 적용할 수 있습니다.

git am은 git format-patch 명령어로 생성된 패치 파일을 적용하는 데 사용되고 git apply는 패치 파일의 변경 사항을 워킹 디렉토리에 적용하며 커밋을 생성하지 않습니다. 주로 로컬에서 간단한 변경 사항을 적용할 때 사용합니다.

패치 파일로 적용하기

패치 파일을 적용하려면 다음 명령어를 사용합니다:

git apply <패치파일명>

예를 들어, `0001-커밋메시지.patch` 파일을 적용하려면 아래와 같은 명령어를 사용할 수 있습니다.

git apply 0001-커밋메시지.patch

 

패치 파일을 커밋으로 적용하기

패치 파일을 커밋으로 적용하려면 `git am` 명령어를 사용합니다. 이 명령어는 패치를 적용하고 자동으로 커밋을 생성합니다:

git am <패치파일명>

예를 들어, `0001-커밋메시지.patch` 파일을 커밋으로 적용하려면 아래의 명령을 사용합니다.

git am 0001-커밋메시지.patch

 

 

Git Patch 관련 유용한 명령어 요약

작업 명령어
특정 커밋의 패치 만들기 git format-patch -1 <커밋해시>
여러 커밋의 패치 만들기 git format-patch <시작해시>..<끝해시>
패치 파일 적용하기 git apply <패치파일명>
패치 파일을 커밋으로 적용하기 git am <패치파일명>



반응형