Git

[Git] amend, cherry-pick

준몽쓰 2025. 3. 8. 23:44

■ amend

개발해서 커밋을 만들었는데, 추가할 파일이 있다는 걸 늦게 알았다. 커밋을 수정하기 위해서 사용하는 명령어

-> 수정 못한 파일이 있는데 방금 만든 커밋에 추가하고 싶다.

 

1) git commit --amend : 메시지를 수정

vi 편집이 켜지면 수정하고 git log로 변경사항 확인

 

2) git commit --amend -m : 메시지 수정 화면을 통해 잘못된 메시지를 수정할 수 있지만, 커밋 메시지를 바로 수정

git log로 변경 되었는지 확인

 

■ cherry-pick

깃허브를 통해 형상관리를 수행하며 개발하다보면, 실수로 커밋을 다른 브랜치에 하게 되어 문제가 발생하는 경우가 있다.

(예시:  A브랜치에 커밋해야할 걸 B브랜치에 한 것) 이럴 때 체리픽 사용

-> 다른 브랜치에 커밋 된 내역을 commit ID를 통해 내가 원하는 브랜치로 복사

-> 같은 내용을 가지고 있는 커밋을 여러개 생성하기 때문에 꼭 사용할 때만 사용

 

feature/a 브랜치의 커밋 중 23tu876와 102jzztg2를 현재 main 브랜치에서 적용한다고 예를 들자.

1) git cherry-pick

2) git cherry-pick 23tu876

3) git cherry-pick 102jzztg2

4) git cherry-pick 23tu876 102jzztg2

 

cherry-pick하려는 커밋과 내 브랜치 사이에 confilct 발생 할 수 있다. 

1. conflict를 해결하고 cherry-pick 진행

 - git add <path> 명령어로 수정된 코드를 올린다. (커밋은 할 필요 X)

 - git cherry-pick --contiune 명령어를 사용하면 다시 시작 됨

 

2. cherry-pick 중단

 - git cherry-pick --abort : cherry-pick을 하기 전 상태로 돌아감

 

 

 

 

 

'Git' 카테고리의 다른 글

[Git] reset, revert, stash  (0) 2025.03.09
[Git] 커밋 관리 및 git push, git pull  (0) 2025.01.27