diff, git format-patch, patch

markyang92·2022년 2월 27일
0

git

목록 보기
13/14
post-thumbnail

patch 파일 생성

1. diff로 patch로

  1. add 하기 전 git local에서
$ git diff # 로 확인된 내용을 write!
$ git diff > ./0001-Add_hello.patch

  1. staging area에 있을 경우
$ git diff --staged
$ git diff --staged > ./0001-Add_hello.patch

2. patch로 적용

  • ./0001-Add_hello.patch

path -p[DEPTH] < patchfile로 적용

$ patch -p1 < 0001-Add_hello.patch

2. 커밋을 patch로

$ git format-patch HEAD~2

  • 커밋 2개를 올린 상태

  • 여기서, 커밋 2개를 각각의 .patch 파일로 만든다.
$ git format-patch HEAD~2

..1개면 $ git format-patch HEAD~1

  • 각각 0001-<Commit1 Message>.patch, 0002-<Commit2 Message>.patchpatch 파일이 생성

patch 파일 적용

git 커밋을 적용

$ git am 0001-changes.patch
Applying: changes

$ patch -p[NUM] < file.patch

  • -p[NUM]: [NUM] 갯수 만큼, 패치파일 내에 경로를 제외한다.
    • a/neutron/service.py -p1 -> neutron/service.py 적용
    • a/neutron/service.py -p2 -> service.py 적용
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글