// stash되어 있는 내용 확인.
git stash list
-----------------------------------------
// stash 선택 하여 patch 파일 만들기.
git stash show -p stash@{0} > cug.patch
-----------------------------------------
// patch파일을 적용할 폴더로 이동
cp cug.patch ../main-app/
-----------------------------------------
// patch파일 적용.
patch -p1 < cug.patch
-----------------------------------------
// patch 결과 미리 확인
patch -p1 --dry-run < cug.patch
// patch 되돌리기
patch -R -p1 < cug.patch
patch 옵션
-p[number], --strip[=number]
패스명의 제거 카운트(strip count)를 설정합니다. 패치 작성자와 다른 디렉토리에 파일을 두고 있는 경우,
패치 파일중의 패스명을 어떻게 해석하는지를 지시합니다.
제거 카운트는, 패스명의 선두로부터 몇개의 slash(/)를 제거하는지를 지정하는 것입니다(그 사이에 있는 디렉토리명도 제거됩니다).
예를 들면, 패치 파일중의 파일명이
/u/howard/src/blurfl/blurfl.c
에서 만났을 경우, -p 혹은 -p0 옵션을 지정하면, 패스명은 전혀 수정되지 않습니다.
-p1 을 지정하면, 최초의 slash(/)가 없습니다.
u/howard/src/blurfl/blurfl.c
-p4 을 지정하면
blurfl/blurfl.c
그리고 -p 을 지정하지 않으면 "blurfl.c" 됩니다.
다만, 그 전의 패스(u/howard/src/blurfl)가 상대 패스로 해서 존재하는 경우는 별개로,
그 경우, 패스명 전체는 무수정인 채입니다. 마지막으로, 이렇게 해 얻을 수 있던 파일을,
커런트 디렉토리 혹은 -d 옵션으로 지정한 디렉토리내에서 찾습니다.
댓글 없음:
댓글 쓰기