본문 바로가기
Programming

git patch 만들기와 적용하기

by 느리게 걷는 즐거움 2024. 7. 24.
반응형

Git Patch 만들기와 적용하기

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

Git Patch란?

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

Git Patch 만들기

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

특정 커밋의 패치 만들기

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

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

예를 들어, `abc1234` 커밋의 패치를 만들려면:

git format-patch -1 abc1234

이 명령어를 실행하면 `0001-커밋메시지.patch` 파일이 생성됩니다.

여러 커밋의 패치 만들기

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

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

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

git format-patch abc1234..def5678

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

Git Patch 적용하기

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

패치 파일 적용하기

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

git apply <패치파일명>

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

git apply 0001-커밋메시지.patch
패치 파일을 커밋으로 적용하기

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

git am <패치파일명>

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

git am 0001-커밋메시지.patch
git apply 와 git am의 차이점

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

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

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



반응형

'Programming' 카테고리의 다른 글

GitHub Actions의 구조와 활용법  (0) 2024.07.28
Use Case Diagram 작성 방법  (1) 2024.07.26
Git 변경이력 확인하기 (git blame)  (2) 2024.07.24
Git에서 특정 커밋으로 원복하기  (0) 2024.07.24
Git Submodule 사용법  (0) 2024.07.24