3_Github Cherry-pick/checkout은 언제 사용해야할까 ? ( 개념, 차이점 )

가응·2025년 1월 23일
1
post-thumbnail

문제상황..🫠

커밋에 올리고 작업중이던 코드의 오류하나를 해결했는데

괜찮았던 다른 코드에서 오류가 생겼어요..
.................심하게.. 😭

그래서 그 부분은 예전에 올렸던 파일을 다시 가져오고 싶은데 ~

이럴때는 어떻게 해야할까요 ?


바로 이전 커밋이 아니더라도 ❗
그 파일만 가져올 수 있을거 같은데 ~ 분명
하고 찾아봤습니다

(커..밋.. 특정 파일...가ㅈ..ㅕ오는..법)!

.
.
.

그래서 두 가지를 발견했습니다~!~!~!

cheery-pick

checkout

둘 중에 어떤 걸 사용해야할까요❓


Cheery-pick이란?

Git Cherry-Pick🍒👀

다른 브랜치에서 어떤 특정 커밋만 콕! 집어서 내 브랜치로 가져오는 명령어


🐱 세부적으로는 언제 쓰냐면

(1) 공통으로 merge했던 커밋을 가져와 수정할 때
(2) 팀원이 작업한 특정 커밋을
-> 내 브랜치로 끌어와 확인/추가 하고 싶을 때
(3) 버그 픽스 커밋을 다른 브랜치에서도 적용해야 할 때


❗즉! 다른 브랜치의 여러 커밋들 중 필요한 커밋만 선택적으로 가져와서 적용할 때 ❗


사용방법

<1>

git cherry-pick <커밋ID>

( 원하는 커밋이 있는 위치로 이동 후 명령어 실행 )

<2>

올린 커밋을 클릭하고 마우스 우측키를 누르면 🍒Cherry-pick commit🍒 이 뜹니다~

.
.
.

⭐⭐⭐여기서 중요한 거!
cheery-pick다른 브랜치 에서 내 브랜치로 가져올 때 유용하다는 점입니다 ~.~.....


그래서 제가 하고 싶었던 것처럼
내 브랜치에 있는 걸 다시 가져오는 데는
cherry-pick이 아닌❌❌ 다른 방법을 써야한다는거죠~😮

그 다른 방법이 checkout 입니다~


Checkout이란?

Git Checkout 🔄

: git checkout은 특정 커밋 상태로 되돌리거나, 브랜치를 전환할 때 쓰는 명령어


🐱 세부적으로는 언제 쓰냐면

(1) 특정 커밋에 있던 파일만 현재 브랜치로 가져올 때
(2) 파일 상태를 특정 커밋 상태로 복구하고 싶을 때 ⭐


사용방법

  • (1) 브랜치 이동
    : 작업하려는 다른 브랜치로 이동할 때

    git checkout <브랜치이름>
  • (2) 파일을 이전 상태로 되돌리기

: 주로 현재 작업 중인 브랜치에서
특정 커밋의 파일을 덮어씌우는 경우에 사용 ❗

git checkout <커밋ID> -- <파일경로>

-> ✨커밋 내역을 유지한 채 파일만 덮어쓸 수 있습니다.✨


⭐⭐ 정리해봅시다 ⭐⭐

Cherry-Pick 🍒 : 브랜치에 적용

  • 다른 브랜치에 있는 커밋 -> 내 브랜치로
  • 딱 필요한 커밋만 골라서 가져오는 거!
  • 파일뿐만 아니라 커밋 내역을 그대로 가져와 적용하는 데 유용

Checkout 🔄 : 파일 되돌리기

  • 특정 커밋에 있던 파일만 복원하고 싶을 때
  • 내 브랜치의 파일 상태를 이전 커밋 상태로 덮기

  • 파일을 복원하고 싶을 때
    : checkout

  • 특정 커밋을 다른 브랜치에 적용
    : cherry-pick

  • 커밋 보존하고, 선택적으로 변경사항을 적용
    : cherry-pick


결론😎

저의경우
내 브랜치에 있던 파일을 복원하고 싶었던 것이니
checkout 을 사용하면 되겠군요 ~
.
.
.
(해결👍)
.
.
흑............다행이다
이제 다시 열심히 개발해보겠습니다😉
안녕 ✨

1개의 댓글

comment-user-thumbnail
2025년 1월 23일

크 제가 생각한 대로 아주 잘 공부하고 잘 정리했네요 넘넘 고생했어용 가독성부분에선 진짜 원탑인듯합니다 배워갈게요^_^

답글 달기