깃허브 cherry-pick 사용하기

2024년 10월 28일 월요일

Today I Learned

날짜

2024년 10월 28일 월요일

내용

cherry-pick

드디어 네이버 커머스 솔루션 서비스를 실서버 배포했다. 아직 심사 전이라 고객은 없긴하지만… 이전에 실서버 운영 관련해서 인수인계를 받을때 실서버 배포 후 처리해야할 것들(환경 변수, 커맨드, 크론 등등)을 미리 적어놓으라고, 정신없어서 까먹는다고 들었었는데 어느샌가 잘 안하고 있었다. 사실 실서버 배포후 하는 일은 거진 비슷하긴 해서.. 커맨드는 거의 안돌리고 크론작업 추가하거나 환경변수 새로 업로드 하는 정도? 물론 그러다가 피 볼 뻔한 일이 한 번 있긴 했어서 이번엔 슨배임께 배운대로 했다. 이번엔 페이스북 앱 설정, 네이버 커머스 솔루션 설정 등 할게 산더미지만 깔쌈하게 처리했다.

실서버에 우선적으로 배포해야할, 긴급한 수정 사항들이 종종 생기기 마련인데 그동안은 상당히 귀찮은 방식으로 처리했다.

  1. 메인 브랜치(실서버)에서 새로 브랜치를 판다.
  2. 수정사항을 커밋한다.
  3. 메인 브랜치에 푸시한다.
  4. 개발 브랜치(테스트서버)에서 새로 브랜치를 판다.
  5. 2번 수정사항과 동일하게 입력하고 커밋한다.
  6. 개발 브랜치에 푸시한다.
  7. 현재 작업중인 로컬 브랜치에 풀 한다.

개발자란놈이 뭐하는 짓인가 싶어 이참에 cherry-pick을 썼다. 3번 과정 까지는 동일하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 메인 브랜치에서 커밋 이력을 출력
# 방금 내 커밋의 id를 확인한다.
git log

# 출력내용
commit bac3812c0f98c6c04e77123e09fde6434e5ab380
Author: junsu <junsoopooh@naver.com>
Date:   Fri Oct 4 16:45:06 2024 +0900

    Refactor: 로우데이터 순서 변경

commit afd08728a96c275fc08bc8199b3d2be9df44e5e2
Author: junsu <junsoopooh@naver.com>
Date:   Fri Oct 4 15:51:11 2024 +0900

    Fix: 템플릿 데이터 추가시 리포트 넘버 부여 오류 수정

1
2
3
4
5
# 위 커밋을 적용할 브랜치로 이동
git checkout dev

# 커밋 적용
git cherry-pick afd08728a96c275fc08bc8199b3d2be9df44e5e2

회고

근데 왜 체리픽인가.

1. 가장 중요한 실속을 차린다

2. 그런데 지 실속만 차린다

3. 해야할 일 중에서 쉬운 일만 선택한다

4. 나한테 필요한 것들만 선별적으로 선택한다

라는 의미란다.